我有一个带有Drop Down选项的HTML表单,它将值传递给我在与表单相同的页面上的php sql查询。如果我将值与LIKE语句一起使用,但是当我尝试使用BETWEEN或> =的发布值时,它无效。如果我尝试实际值,它确实有效。有人可以建议我做错了什么。我已经发布了我的HTML表单和SQL查询的PHP代码。
HTML:
<html><form action="#" method="GET"></select>
<select name="MinPrice">
<option value="">Min Price</option>
<option value="">No Min</option>
<option value="500">£500</option>
<option value="600">£600</option>
<option value="700">£700</option>
<option value="800">£800</option>
<option value="900">£900</option>
<option value="">Show All</option>
</select>
<select name="MaxPrice">
<option value="">Max Price</option>
<option value="">No Max</option>
<option value="500">£500</option>
<option value="600">£600</option>
<option value="700">£700</option>
<option value="800">£800</option>
<option value="900">£900</option></select></form></html>
PHP:
<?php
mysql_connect("****", "****", "****");
mysql_select_db("****");
$sql = mysql_query("SELECT * FROM Product WHERE Price >= '%$_GET[MinPrice]%'");
echo "<h3>...Something...";
或者
<?php
mysql_connect("****", "****", "****");
mysql_select_db("****");
$sql = mysql_query("SELECT * FROM Product WHERE Price BETWEEN '%$_GET[MinPrice]%' AND '%$_GET[MaxPrice]%'");
echo "<h3>...Something...";
我没有得到任何结果,但如果我用实际数字交换GET值,它可以按我的意愿工作。有人对此有任何建议吗?
我已经尝试了我所知道的一切
答案 0 :(得分:0)
为什么行动是“#”? 如果您的PHP代码是另一个页面,则将名称放在操作中:
例如:
<form action="selectproduct.php" method="GET">
或者如果php代码在html页面集上操作:
<form action="<?php $PHP_SELF?>" method="GET">
答案 1 :(得分:0)
echo "<h3>...Something...";
到
echo $sql;
或
var_dump($sql)
并在使用$ _GET并使用“实际数字”时比较$ sql的值
必须有区别:-); - )