搜索表单,下拉列表

时间:2013-07-28 03:38:51

标签: php html forms

我有一个搜索表单,我必须按类别搜索,这是一个下拉列表。有2个表称为成员和类别。在类别表中有两个字段作为ID和名称(此名称字段存储名称像银行,医院这样的类别。)。成员表有一个名为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 } ?>

我在这段代码中有几个不明白的地方。

  1. value="<?php echo $rc[ID]"的用途是什么。它应该回显我刚刚在文本框中输入的内容吗?但$ rc [ID]指的是1,2,3,4,5中的值,但是下拉列表中的值不显示数字。为什么要回显这个?
  2. $_POST['Cat']没有引用数据库中的任何内容,因为我没有这样的字段。它与<form name="Cat">有关。这个$_POST['Cat']如何得到应该是整数的值才能看到与$rc[ID]的匹配。但它是如何得到整数值的,因为我输入的所有内容都是从下拉列表中得到的特定名称。< / LI>
  3. echo selected”的用途是什么?找到匹配时是否使用,然后选项标签变为<option selected>,以便此值弹出列表顶部

1 个答案:

答案 0 :(得分:0)

  1. value=<?php echo $rc[ID]这只适用于您的数据库 提交表单将此值存储到您的数据库表Ex。 <option value='1'>Display Value</option>这里1是存储到db和 用于显示值的显示值是前端。

  2. $_POST['Cat']这不是指任何数据库值 只有在您提交表单时才会发生价值 写#rc [Name]然后只显示下拉列表。

  3. 使用echo selected就是当你的情况符合时 仅选择下拉列表中的第一个值 自动

  4. <强>更新

    <option value="<?php echo $rc[ID]; ?>给出整数值,因为您获得了选择下拉列表的后置值 $rc[ID]提供了值,因为您用于从SELECT ID,Name FROM categories ORDER BY Name

    等数据库中获取数据

    这可以帮助你