我有一个搜索表单,我必须按类别搜索,这是一个下拉列表。有 2 个表称为成员和类别。在类别表中有两个字段作为 ID 和名称(此名称字段存储类别的名称,如bank,hospital..).members 表有一个名为 Category 的字段,该字段的类别 ID 与类别表 ID 值相同(成员表中的类别字段是外键)。
这是下拉列表的代码
<?php if($_GET['level']==2){ ?>
Category<select name="Cat" style="display:inline-block">
<option></option>
<?php $rs=mysql_query("SELECT ID,Name FROM categories ORDER BY Name");
while($rc=mysql_fetch_array($rs)){
?>
<option value="<?php echo $rc[ID]; ?>"
<? echo $_POST['Cat'];?>
<?php if($_POST['Cat']==$rc[ID])
echo 'selected'; ?> >
<?php echo $rc['Name']; ?></option>
<?php } ?>
</select>
<?php } ?>
我在这段代码中有几个我不明白的地方。
- 有什么用。
value="<?php echo $rc[ID]"
它应该回显我刚刚在文本框中输入的内容对吗?但是 $rc[ID] 指的是来自 1,2,3,4,5 的值,但对于下拉列表中的值不显示数字。那么为什么要回显这个? $_POST['Cat']
没有正确引用数据库中的任何内容,因为我没有这样的字段。它与<form name="Cat">
. 这如何$_POST['Cat']
获取应该是整数的值才能看到与 . 的匹配$rc[ID]
。但是它如何获取整数值,因为我输入的只是来自下拉列表的特定名称。- “”有什么用
echo selected
呢<option selected>