创建HTML表单以搜索SQL数据库

时间:2015-01-06 13:28:06

标签: php html mysql sql-server

我有一个带有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值,它可以按我的意愿工作。有人对此有任何建议吗?

我已经尝试了我所知道的一切

2 个答案:

答案 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的值

必须有区别:-); - )