在php中填充下拉列表

时间:2015-02-11 21:18:35

标签: php drop-down-menu

我有一个可以雇佣的游戏mysql数据库。我在php中创建了一个查询,以便用户能够输入标题或游戏描述,结果将作为简单列表显示在表格中。但是,我想在下拉列表中显示我的数组的结果。但是怎么样?我试图应用我在网上找到的代码片段(包括Stack Overflow),但却失败了,使它们无法正常工作。任何帮助都将非常感激。

<table>
    <tr>
        <td>Game ID</td>
        <td>Game Name</td>
        <td>Game Description</td>
    </tr>
<?php
    if(isset($_REQUEST['submit'])){
        $search=$_POST['search'];
        $sql="SELECT* FROM gamestbl WHERE game_name LIKE '%{$search}%' OR game_description LIKE '%{$search}%'";
        $q=mysqli_query($conn,$sql);
        while($res=mysqli_fetch_array($q)){
?>
<tr>
    <td><?php echo $res['game_id'];?></td>
    <td><?php echo $res['game_name'];?></td>
    <td><?php echo $res['game_description'];?></td>
</tr>
    <?php }
}?>
</table>

2 个答案:

答案 0 :(得分:2)

这是一个非常常见的问题,你有正确的想法。现在,您将这些元素填充到<table>元素的<tr><td>元素中。那么,为什么不将其更改为<select><option>布局?

这是基本想法。在while循环期间,为每个游戏回显<option>。将value属性设置为游戏的ID,并将其显示为游戏的名称和说明。

<option value="<?php echo $res["game_id"]; ?>"><?php $res["game_name"]."-".$res["game_description"]; ?></option>

与您的<table>一样,请确保在php <select>循环之外定义while,否则您最终会有多个下拉列表。

希望有所帮助!

答案 1 :(得分:2)

用select:

替换你的表格
<select name="game">
<?php
    if(isset($_REQUEST['submit'])){
        $search=$_POST['search'];
        $sql="SELECT* FROM gamestbl WHERE game_name LIKE '%{$search}%' OR game_description LIKE '%{$search}%'";
        $q=mysqli_query($conn,$sql);
        while($res=mysqli_fetch_array($q)){
?>
<option value="<?php echo $res['game_id'];?>"><?php echo $res['game_name'];?></option>
    <?php }
}?>
</select>