我在PHP表单上有一个动态下拉菜单,它正常工作,它检索/输入正确的id,如果没有收集选项,则不会处理表单。
但是,我不知道如何让它变得粘稠。我可以在没有问题的情况下进行静态下拉,但很明显我错过了什么,有人可以帮忙吗?
下面是下拉菜单:
echo '<div align="left">
<select name="dealership_id">
<option value="NULL">Choose a Dealer:</option>';
$query = 'SELECT * FROM dealership ORDER BY users_dealer_name ASC';
$result = mysql_query ($query);
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
echo "<option value=\"$row[0] \" <?php if (isset($_POST['dealership_id']) && $_POST['dealership_id'] == '$row[0]') {echo 'selected=\"selected\"';} ?> >$row[3]</option>";
}
// Complete the dropdown
echo '</select>
</div>
';
以下是验证码
if (isset($_POST['dealership_id'])) {
$dealer_id = (int) $_POST['dealership_id'];
} else {
$dealer_id = 0;
}
if ($dealer_id > 0) {
$query = "SELECT dealership_id FROM dealership WHERE dealership_id=$dealer_id";
$result = mysql_query ($query); }
else {
echo '<p><font color="red">Please select your Dealership</font></p>';
}
顺便说一句,第0行是主键,第3行是名称。
答案 0 :(得分:1)
我认为以下$row[0]
周围不应该有单引号:
$_POST['dealership_id'] == '$row[0]'
通过使用单引号,您实际上是在比较字符串$ row [0]而不是变量值
这是您的代码,其中包含一些至少是有效语法的更改;我没有测试它是否有效,但它应该。你可以在php中研究字符串连接,这里有一些有用的信息:http://www.php.net/manual/en/language.operators.string.php
echo '<div align="left">
<select name="dealership_id">
<option value="NULL">Choose a Dealer:</option>';
$query = 'SELECT * FROM dealership ORDER BY users_dealer_name ASC';
$result = mysql_query ($query);
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
echo "<option value=\"$row[0]\"";
if (isset($_POST['dealership_id']) && $_POST['dealership_id'] == $row[0]){
echo ' selected=\"selected\"';
}
echo ">$row[3]</option>";
}
// Complete the dropdown
echo '</select>
</div>
';