同じHTMLページの2つの異なる選択要素の下に配置されているPHPコードがあります。2つの異なる要素で同じPHPコードを実行する方法同じ結果が同じページにある場合
HTML
<select id="multiclient" class="form-control custom-select" name="multiclient">
<?php
include 'sql/load-account.php';
?>
</select>
<select id="client" class="form-control custom-select" name="client">
<?php
include 'sql/load-account.php';
?>
</select>
負荷account.php
$account = '<option value="MultiClient" selected disabled hidden>MultiClient</option>'."\n";
$a_list = $DB_CON_C->query("SELECT * FROM clients ORDER BY email DESC");
$data_row = $account;
foreach($a_list as $row){
$data_row .= '<option value="'.$row['email'].'">'.$row['email'].'</option>'."\n";
}
echo $data_row;
unset($row);
上記のPHPコードは、選択素子のマルチクライアントのためのものです。私は 'Client'に変更するには変数$ accountが必要です。 "\ n";クライアント要素用誰も選択のelemenntごとに別々のload-account.phpを作成せずにこれを行う方法を知っていますか?私はparse_url(filter_input(INPUT_SERVER, 'REQUEST_URI' , FILTER_SANITIZE_STRING), PHP_URL_PATH);
を使用して区別できるので、選択された要素が別のページにあると簡単に行うことができました。ただし、この場合、両方の要素が同じページに配置されます。誰もこれを行う方法を知っていますか?
基本的にインクルードはインポートされたコードに置き換えられます。したがって、インクルードされたファイルから '$ account'初期化を移動し、メインファイルの' include'の直前に置くことができます。この方法では、それを含めるたびに異なる値を設定することができます。 (あなたが設定されていない場合はデフォルト値を置くことができます、より安全です) – Kaddath
これは、$ accountの値を渡すためにajax呼び出しを必要としませんか? – ninjachuku
あなたのように直接含まれていない場合。 PHPがサーバーサイドで構築されているときに、ファイルコードがメインファイルに直接挿入されます。ファイル内容で 'include'行を置き換えるのと同じです。 – Kaddath