【发布时间】:2013-07-28 03:38:50
【问题描述】:
我有一个搜索表单,我必须按类别搜索,这是一个下拉列表。有 2 个表称为成员和类别。在类别表中有两个字段作为 ID 和名称(此名称字段存储名称银行,医院等类别。).members表有一个名为Category的字段,其类别ID与类别表ID值相同(成员表中的Category字段是外键)。
这是下拉列表的代码
<?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标签变成<option selected>,这样这个值才会弹出到列表顶部
【问题讨论】: