選択ドロップダウンのあるHTMLフォームがあります。MySQLDBからドロップダウンにデータを入力したいと思います。HTMLフォームには、datepickerを処理するためのいくつかのJavaスクリプトと、フォームのフィールドの1つに現在の日付がすでに含まれています。
選択用のフォームを手動でコーディングできますが、MySQLから取得したいと思います。私が使用しているphpは、正しく機能することを確認するために、独自のファイルname.phpを挿入しました。phpにいくつかのechoステートメントを追加して、フォームと選択範囲を作成し、選択範囲にデータを入力して閉じます。これは、スタンドアロンのphpとしては問題なく機能しました。
選択定義の下のフォームにphpを追加すると、選択がまったく入力されず、空白/空のままになります。選択オプションの形式で出力情報にいくつかのエコーステートメントを追加すると、最初のエコーは表示されず、後続のエコーは表示されますが、変数は変数名として表示されます。
<form id="form1" name="form1" method="post" action="/db_log.php">
Field:<select name="id">
<?php
require_once dirname(__FILE__) . '/db_connect.php';
$db = new DB_CONNECT();
$query="SELECT id, name FROM file order by name";
$result=mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$id = $row['id'];
$name =$row['name'];
echo "<option value=\"$id\"> $name </option>";
}
?>
</select><br />
</form>
上記は空の選択ドロップダウンを示しています。しかし、これはPHPファイルとしてはうまく機能します。
<?php
echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"/db_log.php\">";
echo "Select:<select name=\"id\">";
require_once dirname(__FILE__) . '/db_connect.php';
$db = new DB_CONNECT();
$result=mysql_query("SELECT id, name FROM file order by name");
while ($row = mysql_fetch_array($result)) {
$id = $row['id'];
$name =$row['name'];
echo "<option value=\"$id\"> $name </option>";
}
echo "</select><br />";
echo "</form>";
?>
他のエコーの前にテストエコーのようにHTMLフォームにエコーを追加すると、無視されます。
<form id="form1" name="form1" method="post" action="/db_log.php">
Field:<select name="id">
<?php
echo "<option value=\"1\"> Test-name </option>";
require_once dirname(__FILE__) . '/db_connect.php';
$db = new DB_CONNECT();
$query="SELECT id, name FROM file order by name";
$result=mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$id = $row['id'];
$name =$row['name'];
echo "<option value=\"$id\"> $name </option>";
}
?>
</select><br />
</form>
これから表示されるのは、$nameを選択するオプションだけです。