2012-12-06 72 views
0

我有這個簡單的代碼塊,它將一張表打印到屏幕上。這張表有三欄和id,汽車(下拉列表有三個選項ford,toyota和gmc)和名字。我想要做的是將特定行下拉列表選擇的值打印到屏幕上。我的方法是行不通的....PHP試圖回顯選擇下拉菜單的值到屏幕

<?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>"; 
?> 
+0

直到您提交表單後,它纔會打印該值。即使如此,打印的值將是「1」,「2」或「3」中的一個。另外,沒有提交按鈕。 – wanovak

+0

即時對不起,我沒有發佈整個代碼..我現在將 – codenamejupiterx

+0

當我提交表單它不回顯值1,2或3 – codenamejupiterx

回答

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'] 

請記住,這是將該值分配給超全球總體的「名稱」參數。 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; ?> 

不管怎樣,東西看起來腥這裏。您是否打算讓車表中的每一行都有一個帶有ford,toyota或gmc選項的選擇框?或者你是否試圖讓所有汽車都有一個選擇框 - 當發生變化時 - 用這些汽車填充你的查詢和結果?

+0

感謝您的幫助...是的,我打算在每一行都有一個選擇框,當選擇時我想把這個價值在我的數據庫...但現在我只是試圖打印的值到屏幕 – codenamejupiterx

+0

我錯了一個單引號...感謝您的幫助....我已經發布了更正代碼上面 – codenamejupiterx

+0

並在您更新還在name參數中添加了一個空格。你會想擺脫這一點。 –

0

您似乎沒有檢查提交按鈕是否已被點擊。例如:

if (isset($_GET['submit'])) { 
echo value; 
}