[英]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.