繁体   English   中英

在PHP中填充一个下拉列表

[英]populate a drop down in php

我有一个可以租用的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>

这是一个非常普遍的问题,您有正确的想法。 现在,您正在将这些填充到<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 while循环之外定义<select> ,否则最终将出现多个下拉列表。

希望有帮助!

用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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM