在 php 中填充下拉列表
populate a drop down in php
我有一个 mysql 游戏数据库,您可以租用。我在 php 中创建了一个查询,以便用户能够输入标题或游戏描述,结果将作为一个简单列表显示在 table 中。但是,我想在下拉列表中显示数组的结果。但是怎么办?我尝试应用我在网上找到的代码片段(包括 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>
,否则你最终会得到多个下拉菜单.
希望对您有所帮助!
将您的 table 替换为 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>
我有一个 mysql 游戏数据库,您可以租用。我在 php 中创建了一个查询,以便用户能够输入标题或游戏描述,结果将作为一个简单列表显示在 table 中。但是,我想在下拉列表中显示数组的结果。但是怎么办?我尝试应用我在网上找到的代码片段(包括 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>
,否则你最终会得到多个下拉菜单.
希望对您有所帮助!
将您的 table 替换为 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>