我尝试通过 mySQL 的下拉选项显示一些数据
当用户选择选项美国并点击提交时,页面将转到下一页并仅显示美国的数据
这是我的 store.php 代码
<form method=POST action="filter.php" name="filter">
<select name="fbike" id="fbike">
<option value="" disabled selected>category</option>
<optgroup label="bike">
<option value="city_bike">city</option>
<option value="mountain_bike">mountain</option>
<option value="bmx_bike">bmx</option>
</optgroup>
<option value="clothes">clothes</option>
<option value="accessory">accessory</option>
</select>
<input name="submit" type="submit" value="show" />
</form>
这是我的第二页 filter.php
$link=mysqli_connect("localhost","root","","rider_shop");
if(mysqli_connect_errno())
exit("there is an error".musqli_connect_error());
if(isset($_POST['submit'])){
$selected_value=$_POST['fbike'];
if($selected_value=='city_bike'){
$drop="SELECT * FROM rider_products WHERE fbike='city'";
}
else if($selected_value=='mountain_bike'){
$drop="SELECT * FROM rider_products WHERE fbike='mountain'";
}
else{
exit("it does not exist");
}
$result=mysqli_query($link,$drop);
while($row=mysqli_fetch_array($result)){
echo$row['fbike'].'-'.$satr['price'].'<br/>';
}
}
我尝试了上面的代码,但是我得到了 2 个错误
未定义索引:C:\wamp64\www 中的 fbike 第 14 行的 ider ilter.php
警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,C:\wamp64\www 中给出的布尔值 第 36 行的 ider ilter.php
第14行是
$selected_value=$_POST['fbike'];
第 36 行是另一个过滤器,它可以自己工作,但是当我添加下拉过滤器时,它不再起作用,我有那个错误,他的代码是:
$min_price=$_POST['min_price'];
$max_price=$_POST['max_price'];
$query="SELECT * FROM rider_products WHERE price BETWEEN $min_price AND $max_price";
$result=mysqli_query($link,$query);
while($row=mysqli_fetch_array($result)){
echo$row['fbrand'].'-'.$row['price'].'<br/>';
}
问题是你得到一个空结果,因为没有条目与指定的 fbike 匹配,它从 mysqli_query 返回 $result 作为 FALSE ...你必须检查你得到行。