2013-02-13 104 views
1

我可以從數據庫調用下拉框的值,但我無法將選定的值保存在數據庫中的新行中。有人可以告訴我我要去哪裏嗎?如何將選定的值從下拉列表添加到數據庫?

if (isset($_POST["addDestination"]) && $_POST["addDestination"]=="yes") 
{ 
    $countriesName=$_POST["countriesName"]; 
    $Name=$_POST["Name"]; 
    $photo=$_POST["photo"]; 
    $description=$_POST["description"]; 
    $Airport=$_POST["Airport"]; 
    $Airport2=$_POST["Airport2"]; 
    $Airline=$_POST["Airline"]; 
    $Airline2=$_POST["Airline2"]; 
    $Airline3=$_POST["Airline3"]; 
    $Airline4=$_POST["Airline4"]; 

    $dbQuery= "INSERT INTO destinations VALUES(NULL, '$countriesName', '$Name', '$photo', '$description', '$Airport', '$Airport2', '$Airline', '$Airline2', '$Airline3', '$Airline4')"; 
    $result= mysql_query($dbQuery,$db); 

HTML代碼和PHP代碼從數據庫中調用中的值是:

<form id="addDestination" name="addDestination" method="post" action="addDestination.php"> 
    <input type="hidden" name="addDestination" value="yes"> 
    <div id="countriesName" class="info"><span class="formLabel">Country (Please select one of the following)</span><br> 
    <?php 
     echo "<p></p>"; 
     $dbQuery="SELECT Name FROM countries order by name asc"; 
     $dbResult=mysql_query($dbQuery); 
     echo "<select name=\"Name\">"; 
     while ($dbRow=mysql_fetch_array($dbResult)) { 
     $Name=$dbRow["Name"]; 
     echo "<option value='$Name'>$Name</option>"; 
     } 
     echo "</select>"; 
     echo "<p> </p>"; 
    ?> 
    </div> 

當我嘗試保存所選的值,在數據庫中的字段保持空白。

+1

嘗試運行$ result = mysql_query($ dbQuery,$ db)或die(mysql_error())來查看它顯示的錯誤。這將有助於調試。 – 2013-02-13 17:03:49

+0

你的問題有點混亂,你試圖提交到數據庫的價值是什麼? – samayo 2013-02-13 17:04:34

+0

抱歉應該更好地解釋。我希望能夠從下拉框中選擇一個國家的名稱,我可以從數據庫中的國家/地區表中填充國家/地區名稱,但是當我選擇要添加到目的地國家/地區的國家/地區時,該字段保持空白。我希望這有道理,再次抱歉 – 2013-02-13 17:08:23

回答

2

我想這可能是而非:

$countriesName=$_POST["countriesName"]; 

您可能需要使用:

$countriesName=$_POST["Name"]; 

"Name"是你的實際的HTML選擇的名稱,而不是"countriesName"這是含DIV。

+0

我也剛剛注意到你已經在POST中傳遞了名字,所以你可能不得不重新命名你的HTML選擇標籤,例如。稱它爲cName並從POST變量中選擇它。 – chalkysteve 2013-02-13 17:22:47

相關問題