2012-07-07 48 views
0

好吧,我爲我錯過了一個錯綜複雜的過長的標題,但我對這一切都很陌生,而且我也沒有不太確定如何解釋它,甚至開始......所以我就這樣做了!PHP將所選項目從一個數組中填充的HTML下拉菜單中傳遞到數據庫中

我現在正在做的是從我的MySQL數據庫中填充一個HTML下拉列表,然後我想從用戶選擇的下拉列表中選擇一個選項,並以某種方式將該數據輸入到不同的表中。

我使用來從表中數據的代碼是:

<td>Model of Bike</td> 
<td><select type ="text" name="bikeBrand"> 
<?php 
    $sql = mysql_query("SELECT bikeDescr, bikeID FROM Bikes"); 
    while ($row = mysql_fetch_array($sql)) 
    { 
     echo "<option value='bikeDescr'>" . $row['bikeDescr'] . "</option>"; 
    } 
?> 

現在,一旦用戶選擇所需的自行車,讓我們說,這是一個艱苦跋涉,我希望能夠得到那個信息並將其放入到我的Insert()Values()中,以便我可以追蹤每次創建新票時他們選擇了哪輛車。

希望我沒有困惑或使事情變得更糟,但任何幫助,我需要做什麼,或在哪裏看,將不勝感激。

謝謝你的時間。

回答

1

我建議你做一些改進,他們是:

1)select標記沒有type屬性,因此正確的使用方法是:

<select name="bikeBrand"> 

2)當您得到數據庫中的bikeDescr和bikeID領域,我建議你使用bikeID爲每個選項和bikeDescr顯示選擇的名稱值。例如:

<td>Model of Bike</td> 
<td><select name="bikeBrand"> 

<?php 

    $sql = mysql_query("SELECT bikeDescr, bikeID FROM Bikes"); 

    while ($row = mysql_fetch_array($sql)) 
    { 
     echo "<option value='" . $row['bikeID'] . "'>" . $row['bikeDescr'] . "</option>"; 
    } 
?> 

因此,您可以檢索下一個文件中的bikeBrand值並將其插入到數據庫中。

+0

你是對的,我需要把ID放在桌子上,然後爲我的報告後來我可以鏈接兩張桌子來拉它是什麼樣的自行車。我改變了我的回聲線,以你的建議,它像一個魅力工作,非常感謝你! – Huntertusk 2012-07-07 15:49:36

+0

@Huntertusk,很高興爲您效勞!如果您認爲我的答案是最好的,請不要忘記標記它。 – 2012-07-07 18:08:47

+0

感謝提醒/信息。如上所述,我不知道我在做什麼。我現在標記了它。再次感謝您的一切! – Huntertusk 2012-07-07 18:18:05

0

您必須更改聲明:

echo "<option value='bikeDescr'>" . $row['bikeDescr'] . "</option>"; 

這樣:

echo "<option value='" . htmlentities($row['bikeDescr']) . '>" . $row['bikeDescr'] . "</option>"; 

而這一切都應該是一個形式裏面。至於INSERT查詢,您是在考慮在同一頁面上或在單擊按鈕或提交表單後調用它?

+0

我在不同的php文件中插入一個按鈕被點擊後從這個表單收集一堆信息。 – Huntertusk 2012-07-07 15:29:17

0

爲了讓你會做 動作表單上爲另一個PHP文件,以便

<form action="submit.php" method="POST"> 
<td><select name="bikeBrand"> 
<?php 
    $sql = mysql_query("SELECT bikeDescr, bikeID FROM Bikes"); 
    while ($row = mysql_fetch_array($sql)) 
    { 
     echo "<option value='". $row['bikeDescr'] ."'>" . $row['bikeDescr'] . "</option>"; 
    } 
?> 
</form> 

submit.php看起來像值

$value = $_POST['bikeBrand'] 
if(isset($value)){ 
// Database info goes here// 
$sql = mysql_query("INSERT INTO table VALUES('$value')"); 
} 
+1

閱讀此:http://meta.stackexchange.com/q/87678 – hjpotter92 2012-07-07 04:09:55

+0

lol對不起,如果我冒犯你 – kezi 2012-07-07 04:11:21

+0

謝謝你的建議,添加另一個PHP來做插入任務,我很感激。 – Huntertusk 2012-07-07 16:43:28

相關問題