0

テーブルを画面に出力するこの単純なコードブロックがあります。このテーブルには、3つの列と、id、car(ford、toyota、およびgmcの3つの選択肢があるドロップダウンリスト)と名前があります。私がやろうとしているのは、特定の行のドロップダウンリストの選択値を画面に出力することです。私の方法は機能していません...

<?php    
//////connecting to our sql server
$db_connect=mysql_connect("XXXXXXXXXXXX", "XXXXXXXXX", "XXXXXXXXXXXXX")    
 or die("not logged in");
//////now selecting our database
$db_select=mysql_select_db("XXXXXXXXXXX") or die(mysql_error());
////query
$query = mysql_query("SELECT * FROM car "); 


echo '<form action="drop_down_car_test.php?" method="GET">';
echo '<table border = \"1\">';
echo '<tr><td>id</td><td>car</td><td>name</td>';

while($row=mysql_fetch_array($query)){
echo "<tr><td>";

////in the database 'id' is the primary auto incremented id
echo $row['id'];
echo "</td><td>";

echo "<select name='carDropDown".$row['id']."' >;
<option value=\"1\">ford</option>;
<option value=\"2\">toyota</option>;
<option value=\"3\">gmc</option>;
</select>";

echo $_GET['carDropDown'.$row['id']];

echo "</td><td>";
echo $row['name'];
echo "</td><td>";
}////end while
echo"<table>";

echo '<td bgcolor=#7FFF00><input type="submit" value="Update"></td>';
echo "</form>";
?>
4

2 に答える 2

1

これは間違っています:

echo "<select name='carDropDown' id='carDropDown'".$row['id']." >;
<option value=\"1\">ford</option>;
<option value=\"2\">toyota</option>;
<option value=\"3\">gmc</option>;
</select>";

echo $_GET['carDropDown'.$row['id']];

このhtmlでエコーしたい値は次のとおりです。

$_GET['carDropDown']

スーパーグローバルに値を割り当てるのは「name」パラメーターであることを忘れないでください。idはこれらの変数では使用されません。

しかし、これをループで使用するので、次のようなものが必要になると思います。

echo "<select name='carDropDown".$row['id']."'>;
<option value=\"1\">ford</option>;
<option value=\"2\">toyota</option>;
<option value=\"3\">gmc</option>;
</select>";

echo $_GET['carDropDown'.$row['id']];

しかし、ここにさらに別の問題があります...処理でこれを何らかの方法で使用する場合は、値をフェッチするためにこれらのIDをすべて知っている必要があります。では、配列を使用してみませんか?

<select name='carDropDown[]'>

次に、次のようにループできます。

<?php foreach($_GET['carDropDown'] AS $car): ?>

    <?php echo $car; ?><br>

<?php endforeach; ?>

いずれにせよ、ここでは何かが怪しいように見えます。車のテーブルのすべての行に、オプションとしてフォード、トヨタ、またはgmcの選択ボックスを設定する予定ですか?または、すべての車種が入った選択ボックスを作成しようとしていますか?変更すると、クエリと結果にその車種の車が表示されますか?

于 2012-12-06T21:11:26.410 に答える
0

送信ボタンがクリックされたかどうかを確認しているようには見えません。何かのようなもの:

if (isset($_GET['submit'])) {
echo value;
}
于 2012-12-06T21:15:19.087 に答える