【问题标题】:Drop down list in PHP that filters MySQL dataPHP中过滤MySQL数据的下拉列表
【发布时间】:2023-03-11 01:20:02
【问题描述】:

我正在尝试打印 MySQL 表中的数据,但我希望它们根据列的值进行过滤。我希望这些值显示在下拉列表中,并且在选择其中一个之后,我不会让程序打印出满足该要求的所有记录。为了更清楚,我希望根据从下拉菜单中选择的类别打印图书馆中的书籍。我做了一些研究,并修改了一些代码。但这是我第一次用 PHP 编码,我显然做错了什么。我尝试执行的代码是这样的:

<form id="form1" name="form1" method="POST" action="">

Fusha e kërkimit:
<select Name='NEW'>
<option value="">---Zgjidh---</option>
<?
mysql_connect('localhost', '<password>', '<user>');
mysql_select_db("<mysql_db>");

if (isset ($select) && $select!=""){
$select=$_POST['NEW'];
}
?>
<?
$list=mysql_query("SELECT * FROM 'arkiva' ORDER BY 'Fusha'");
while($row_list=mysql_fetch_assoc($list)){
?>
  <option value="<?php echo htmlspecialchars($row_list['Fusha']);?>"> 
            <?php echo htmlspecialchars($row_list['Fusha']); ?> 
        </option> 
<?
}?>
</select>
<input type="submit" name="Submit" value="Dërgo" />
</form>

但这只会打印出没有实际值的下拉框,而且我有一段缺失的代码在选择后打印出来。

非常感谢您!

【问题讨论】:

  • var_dump($row_list); 的输出迭代粘贴到循环中。 (P.S. 不要使用 mysql_,使用 mysqli_ 或 PDO 代替。)

标签: php dropdownlistfor


【解决方案1】:

由于语法原因,您的查询排序不正确。添加反引号应该会有所帮助:

$list=mysqli_query("SELECT * FROM `arkiva` ORDER BY `Fusha`");

This answer 说明反引号在您的查询中的作用。

【讨论】:

    【解决方案2】:

    仍然无法让它在下拉列表中显示我的字段。我通过手动创建下拉列表的字段暂时解决了这个问题。 Bur 随着我的数据库的增长,它肯定会变得非常混乱和漫长。所以我仍然需要解决这个问题以获得永久解决方案。不管怎样,谢谢你们的帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-08
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多