2013-03-05 79 views
0

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

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

但这只是打印出下降的箱子下来,没有实际价值,我有一个缺失的代码,选择后打印出来。

非常感谢你提前!

+0

粘贴循环内的'var_dump($ row_list);'输出的一个迭代。 (请不要使用mysql_ *,而应使用mysqli_ *或PDO。) – mkaatman 2013-03-05 23:29:31

回答

0

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

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

This answer地址什么反引号中查询做。

0

仍然无法在下拉菜单中显示我的字段。我暂时通过手动创建下拉列表的字段来解决这个问题。 Bur随着数据库的发展,它肯定会变得非常混乱和漫长。所以我仍然需要解决这个问题。无论如何,谢谢你的帮助