查询条件页面
<html> 
<body> 
<h3>查询</h3> 
<form action="search_show.php" method="POST"> 
品号:<input type="text" size=25 name="depart" value=""> <br><br> 
品名: <input type="text" size=25 name="ename" value=""> <br><br> 
<input type="submit" name="提交" value="提交"> 
</form> 
</body> 
</html>结果显示页面
<?php
$serverName = "(local)"; //数据库服务器地址
$uid = "sa"; //数据库用户名
$pwd = ""; //数据库密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"MSD");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
    echo "连接失败!";
    die( print_r( sqlsrv_errors(), true));
}
?><?php
$depart=$_POST["MB001"];
$ename=$_POST["MB002"];if($depart != null){ 
$a = " and MB001 like '%$depart%'";} if($ename != null){ 
$b = " and MB002 like '%$ename%'";}$q = "SELECT MB001,MB002,MB003 FROM INVMB where (1=1) AND MB017='201'"; 
$q .=$a; 
$q .=$b;$query = sqlsrv_query($conn,$q);
echo "<table width=500 border='0' align='center' cellpadding='5' cellspacing='1' bgcolor='#add3ef'>";echo "<tr bgcolor='#eff3ff'><td>品号</td><td>品名</td><td>规格</td></tr>";
while($row = sqlsrv_fetch_array($query)) echo "<tr bgcolor='#ffffff'><td>$row[$depart]</td><td>$row[$ename]</td><td>$row[2]</td></tr>";
echo "</table>";
?>输入条件,提交查询后没有按查询条件显示结果。

解决方案 »

  1.   

    品号:<input type="text" size=25 name="depart" value="">  
    品名: <input type="text" size=25 name="ename" value=""> 
    $depart=$_POST["MB001"];
    $ename=$_POST["MB002"];
    这你能接收到表单传递过来的POST值?
      

  2.   

    name="depart" 
    name="ename" $depart=$_POST["depart"];
    $ename=$_POST["ename"];
      

  3.   

    加limit 0,10这就从0开始取10条记录
      

  4.   

    $limit = ' limit 10';
    if($depart != null){ 
      $a = " and MB001 like '%$depart%'";
      $limit = '';

     
    if($ename != null){ 
      $b = " and MB002 like '%$ename%'";
      $limit = '';
    }
     
    $q = "SELECT MB001,MB002,MB003 FROM INVMB where (1=1) AND MB017='201'"; 
    $q .=$a; 
    $q .=$b;
    $q .= $limit;
      

  5.   

    <?php
    $serverName = "(local)"; //数据库服务器地址
    $uid = "sa"; //数据库用户名
    $pwd = ""; //数据库密码
    $connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"MSD");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    if( $conn == false)
    {
        echo "连接失败!";
        die( print_r( sqlsrv_errors(), true));
    }
    ?><?php
    $depart=$_POST["depart"];
    $ename=$_POST["ename"];
    $limit='limit 10';if($depart != null){ 
    $a = " and MB001 like '%$depart%'";
    $limit = "";
    } if($ename != null){ 
    $b = " and MB002 like '%$ename%'";
    $limit = "";
    }$q = "SELECT MB001,MB002,MB003 FROM INVMB where (1=1) AND MB017='201'"; 
    $q .=$a; 
    $q .=$b;
    $q .=$limit;$query = sqlsrv_query($conn,$q);
    echo "<table width=500 border='0' align='center' cellpadding='5' cellspacing='1' bgcolor='#add3ef'>";echo "<tr bgcolor='#eff3ff'><td>品号</td><td>品名</td><td>规格</td></tr>";
    while($row = sqlsrv_fetch_array($query)) echo "<tr bgcolor='#ffffff'><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
    echo "</table>";
    ?>
    经测试,加上 $q .=$limit; 这句就报错。
      

  6.   

    嗯,还真没注意到你用的是 sql server
    他没有 limit 子句只有 top 子句
    应改为
    $limit = 'top 10';
    if($depart != null){ 
      $a = " and MB001 like '%$depart%'";
      $limit = '';

     
    if($ename != null){ 
      $b = " and MB002 like '%$ename%'";
      $limit = '';
    }
     
    $q = "SELECT $limit MB001,MB002,MB003 FROM INVMB where (1=1) AND MB017='201'"; 
    $q .=$a; 
    $q .=$b;