我正在尝试根据HTML选择框的帖子值从表中进行选择。我根本没有得到任何结果,我正在回应帖子的价值没有问题。该语句可以自行运行,但是当我使用select表单填充它时则不会。这只是我的测试,我将在下拉框中添加其他选项。
<?php
if(isset($_POST['value'])) {
if($_POST['value'] == 'Militaria') {
$query = "SELECT * FROM listings WHERE category1=Militaria";
}
else {
// query to get all records
$query = "SELECT * FROM listings";
}
}
$sql = mysql_query($query);
while ($row = mysql_fetch_array($query)){
echo 'Description:' . $row['description'];
}
mysql_close($con);
?>
这是我正在使用的html表单,任何人都可以告诉我哪里出错了,我应该采用不同的方式等等,我是php新手?谢谢!
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post' name='form_filter' >
<select name="value">
<option value="all">All</option>
<option value="Militaria">Militaria</option>
</select>
<br />
<input type='submit' value = 'Filter'>
</form>
答案 0 :(得分:2)
mysql_fetch_array()
应该将resorce作为参数接收。试试mysql_fetch_array($sql)
。
答案 1 :(得分:0)
引用&#39; Militaria&#39;和mysql_fetch_array($ sql)
<?php
if(isset($_POST['value'])) {
if($_POST['value'] == 'Militaria') {
$query = "SELECT * FROM listings WHERE category1='Militaria'";
}
else {
// query to get all records
$query = "SELECT * FROM listings";
}
$sql = mysql_query($sql);
while ($row = mysql_fetch_array($sql)){
echo 'Description:' . $row['description'];
}
mysql_close($con);
}
?>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post' name='form_filter' >
<select name="value">
<option value="all">All</option>
<option value="Militaria">Militaria</option>
</select>
<br />
<input type='submit' value = 'Filter'>
</form>
答案 2 :(得分:0)
你的php代码中有两个错误。
第一:引用军事报道。查询应为$query = "SELECT * FROM listings WHERE category1='Militaria'";
第二名:mysql_fetch_array
接受已执行查询的结果作为参数。它应该是$row = mysql_fetch_array($sql)
最终代码:
<?php
if(isset($_POST['value'])) {
if($_POST['value'] == 'Militaria') {
$query = "SELECT * FROM listings WHERE category1 = 'Militaria'";
}
else {
// query to get all records
$query = "SELECT * FROM listings";
}
}
$sql = mysql_query($query);
while ($row = mysql_fetch_array($sql)){
echo 'Description:' . $row['description'];
}
mysql_close($con);
?>