通过PHP post方法

时间:2015-11-06 06:21:08

标签: php mysql sql-server sqlite

我是网络开发的新手。我正在尝试使用Apache + PHP + SQLite实现数据库驱动的Web服务器。使用post方法,我尝试将html页面上的输入值作为SQL查询传递给Web服务器,以检索数据库中的数据。

问题描述: 假设我的数据库中有一个表(名为my_table),有3列,a1,a2和a3。在php文件中,最终用户指定了3个输入值,比如$ v1,$ v2和$ v3。 $ v1,$ v2和$ v3的值将与a1,a2和a3中的模式匹配,以便检索匹配的数据行。 $ v1,$ v2或$ v3可以是空字符串,具体取决于用户的查询。从形式上讲,如果$ v1 ='',$ v2 =''和$ v3 ='',将检索my_table中的所有数据;如果$ v1 ='v1_value',$ v2 =''和$ v3 ='',则将检索列a1具有模式v1_value的数据。

我的HTML表单标记

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <table>
        <tr><td>Item1: </td><td><input type="text" name="v1"></td></tr>
        <tr><td>Item2: </td><td><input type="text" name="v2"></td></tr>
        <tr><td>Item3: </td><td><input type="text" name="v3"></td>
    </table>
    <input type="submit", name="submit" value="Submit">
</form>

我的PHP代码

$v1 = $_POST['v1']; 
$v2 = $_POST['v2'];
$v3 = $_POST['v3'];

我被困在这里......

$query = "SELECT * FROM my_table WHERE <A_PROPER_CONDITION_STATEMENT>"

也就是说,如何根据需要查询数据。

希望我能清楚地描述一下。感谢帮助。

1 个答案:

答案 0 :(得分:1)

试试这段代码: -

$query = "SELECT * FROM my_table WHERE 1=1 ";

if(isset($_POST['v1']))
$query .=" and  a1=".$_POST['v1'];

if(isset($_POST['v2']))
$query .=" and  a2=".$_POST['v2'];

if(isset($_POST['v3']))
$query .=" and  a3=".$_POST['v3'];