我想在结果页中执行一个查询,选择大于从索引页传递的表单数据的信息。
从索引页传递的值是正确的,如下所示:
Array
(
[device] => sim only
[provider1] => umobile
[plantype] => postpaid
[dusage] => 3
[cusage] => 0
[musage] => 300
)
但我的结果显示不像预期的那样。我想知道是我的逻辑错误还是语法错误?
这是我的查询代码:
<?php
//$planquery="SELECT * FROM plan";
$dquery= "SELECT * FROM details";
$device = $_POST['device'];
$provider1 = $_POST['provider1'];
//$provider2 = $_POST['provider2'];
//$provider3 = $_POST['provider3'];
//$provider4 = $_POST['provider4'];
$plantype = $_POST['plantype'];
$dusage = $_POST['dusage'];
$cusage = $_POST['cusage'];
$musage = $_POST['musage'];
$planquery="SELECT * FROM plan WHERE
Phone='$device' AND SIMTYPE='$plantype' AND 'DATA'>='$dusage' AND 'CALL'>='$cusage' AND 'MSG'>='$musage' ";
$planresult=mysql_query($planquery) or die ("Query to get data from firsttable failed: ".mysql_error());
$dresult=mysql_query($dquery) or die ("Query to get data from firsttable failed: ".mysql_error());
//$sresult=mysql_query($squery) or die ("Query to get data from firsttable failed: ".mysql_error());
while ((($prow = mysql_fetch_assoc($planresult))) && ($drow = mysql_fetch_assoc($dresult)) ) {
?>
我有两个细节
- 500免费味精
- 200免费味精
表单数据包含用户搜索需求,以防用户搜索500msg。我想要做的查询是只选择记录,当'MSG'>='$musage'也是其他要求。两个结果都显示为结果;
(代表OP发布解决方案)。
我通过重组表来解决这个问题,这样更容易进行查询。我使用左连接,而不是从两个表中拉。