2013-02-13 137 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

相关问题