如何将下拉列表中的选定值添加到数据库中?
Posted
技术标签:
【中文标题】如何将下拉列表中的选定值添加到数据库中?【英文标题】:How can i add the selected value from a dropdown list to the database? 【发布时间】:2013-01-29 07:27:26 【问题描述】:我可以从数据库中调用下拉框的值,但我无法将所选值保存在数据库中的新行中。谁能告诉我哪里出错了?
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);
<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>
当我尝试保存选定的值时,数据库中的字段保持空白。
【问题讨论】:
尝试运行 $result= mysql_query($dbQuery,$db) 或 die(mysql_error()) 看看它显示了什么错误。这将有助于调试。 您的问题有点混乱,您尝试将哪个值提交到数据库中? 抱歉应该解释得更好。我希望能够从下拉框中选择一个国家/地区的名称,我可以从数据库中的国家/地区表中填充该名称,但是当我选择要添加到目的地表中的国家/地区时,该字段保持空白。我希望这是有道理的,再次抱歉 【参考方案1】:我认为可能是这样,而不是:
$countriesName=$_POST["countriesName"];
您可能需要使用:
$countriesName=$_POST["Name"];
"Name"
是您的实际 HTML 选择的名称,而不是 "countriesName"
,它是包含的 div。
【讨论】:
我也刚刚注意到您已经在 POST 中传递了名称,因此您可能必须重命名您的 HTML 选择标签,例如。称它为 cName 并从 POST 变量中获取它。以上是关于如何将下拉列表中的选定值添加到数据库中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Laravel 在下拉列表中显示数据库中的选定值?