本帖最后由 liucheng1515 于 2014-10-06 15:55:06 编辑

解决方案 »

  1.   

    $q = "SELECT * FROM research where xianlu = " . $_GET['select']  ,多条件自己加上去就可以了
      

  2.   

    现在的新进展是“选择状态“可用,但首次打开页面显示所有内容,并提示3处错误,如何修改打开页面不查询,只有点击查询再查询
    完整代码如下:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>数据查询</title>
    </head>
    <body><p>&nbsp;</p>
    <form>                 <div align="center">媒体版本号:
                       <input name="banben" type="text" size="10" maxlength="5">
    选择线路
                     <select name="xianlu">
                       <option>0213</option>
                       <option>0203</option>
                       <option>0225</option>
                       <option>0214</option>
                       <option>0207</option>
                     </select>
                     选择状态
                     <select name="zhuangtai">
                       <option value="fin" selected="selected">完成</option>
                       <option value="new">未完成</option>
                     </select>
                     <label></label>
                     <input type="submit" name="submit" value="查询" />
                     </div>
            
    </form><?php  
    $link=mysql_connect("localhost","root","12345678");   
    if(!$link) echo "没有连接成功!";   
    else echo "连接成功!";   
    mysql_select_db("busap", $link);          //选择数据库  //控制查询条件$q = "SELECT * FROM research where banben like '%{$_REQUEST['banben']}%' AND linename like '%{$_REQUEST['xianlu']}%' AND zhuangtai like '%{$_REQUEST['zhuangtai']}%' order by busname asc";   
     
    // mysql_query("SET NAMES GB2312"); //防止乱码
    $rs = mysql_query($q); //获取数据集
    $assoc= mysql_num_rows($rs);///影响的行数 , 原来用了mysql_fetch_assoc
    echo "$assoc"; $row=mysql_fetch_array($rs); //只需要补充回这一行. if(!$rs){die("Valid result!");}
    ?><table width="100%" border="1" align="center">  <tr>
        <td width="10%"><div align="center">线路</div></td>
        <td width="10%"><div align="center">中心编号</div></td>
        <td width="10%"><div align="center">线路</div></td>
        <td width="10%"><div align="center">车辆自编号</div></td>
        <td width="10%"><div align="center">传输方式</div></td>
        <td width="10%"><div align="center">媒体版本</div></td>
        <td width="10%"><div align="center">日期</div></td>
        <td width="10%"><div align="center">时间</div></td>
        <td width="10%"><div align="center">状态</div></td>
      </tr>
      <?php 
    do { ?>  <tr>
        <td width="10%"><div align="center"><?php echo $row[0]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[1]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[2]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[3]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[4]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[5]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[6]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[7]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[8]; ?></div></td>

      </tr>
      <?php }while($row = mysql_fetch_array($rs)); ?>
    </table>
    </html>
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>数据查询</title>
    </head>
    <body><p>&nbsp;</p>
    <form>                 <div align="center">媒体版本号:
                       <input name="banben" type="text" size="10" maxlength="5">
    选择线路
                     <select name="xianlu">
                       <option>0213</option>
                       <option>0203</option>
                       <option>0225</option>
                       <option>0214</option>
                       <option>0207</option>
                     </select>
                     选择状态
                     <select name="zhuangtai">
                       <option value="fin" selected="selected">完成</option>
                       <option value="new">未完成</option>
                     </select>
                     <label></label>
                     <input type="submit" name="submit" value="查询" />
                     </div>
            
    </form><?php  
    if($_REQUEST['submit'])
    {
    $link=mysql_connect("localhost","root","12345678");   
    if(!$link) echo "没有连接成功!";   
    else echo "连接成功!";   
    mysql_select_db("busap", $link);          //选择数据库  //控制查询条件$q = "SELECT * FROM research where banben like '%{$_REQUEST['banben']}%' AND linename like '%{$_REQUEST['xianlu']}%' AND zhuangtai like '%{$_REQUEST['zhuangtai']}%' order by busname asc";   
     
    // mysql_query("SET NAMES GB2312"); //防止乱码
    $rs = mysql_query($q); //获取数据集
    $assoc= mysql_num_rows($rs);///影响的行数 , 原来用了mysql_fetch_assoc
    echo "$assoc"; $row=mysql_fetch_array($rs); //只需要补充回这一行. if(!$rs){die("Valid result!");}
    }?>
     <?if ($_REQUEST['submit']):?>
    <table width="100%" border="1" align="center">  <tr>
        <td width="10%"><div align="center">线路</div></td>
        <td width="10%"><div align="center">中心编号</div></td>
        <td width="10%"><div align="center">线路</div></td>
        <td width="10%"><div align="center">车辆自编号</div></td>
        <td width="10%"><div align="center">传输方式</div></td>
        <td width="10%"><div align="center">媒体版本</div></td>
        <td width="10%"><div align="center">日期</div></td>
        <td width="10%"><div align="center">时间</div></td>
        <td width="10%"><div align="center">状态</div></td>
      </tr>
      <?php 
    do { ?>  <tr>
        <td width="10%"><div align="center"><?php echo $row[0]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[1]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[2]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[3]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[4]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[5]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[6]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[7]; ?></div></td>
        <td width="10%"><div align="center"><?php echo $row[8]; ?></div></td>  </tr>
      <?php }while($row = mysql_fetch_array($rs)); ?>
    </table>
    <?endif;>
    </html>
      

  4.   

    $q = "SELECT * FROM research where banben like '%{$_REQUEST['banben']}%' AND linename like '%{$_REQUEST['xianlu']}%' AND zhuangtai like '%{$_REQUEST['zhuangtai']}%' order by busname asc";   对$_REQUEST['banben'],$_REQUEST['xianlu'],$_REQUEST['zhuangtai']做相应的判断
    如:
    $sqlstr = "";
    if (!empty($_REQUEST['banben'])){
        $sqlstr = " and banben like '%{$_REQUEST['banben']}%' ";
    }
    if (!empty($_REQUEST['xianlu'])){
        $sqlstr .= " linename like '%{$_REQUEST['xianlu']}%' ";
    }
    同理$_REQUEST['zhuangtai']$q = "SELECT * FROM research where  1 = 1  $sqlstr  order by busname asc";   
      

  5.   

    if (!empty($_REQUEST['xianlu'])){
        $sqlstr .= " and linename like '%{$_REQUEST['xianlu']}%' ";
    }
      

  6.   

    现在问题基本都解决啦,但运行出一个错误,但还不耽误用,怎么能让他不显示啊第81行代码是:   <?php }while($row=mysql_fetch_array($rs)); ?>完整代码如下:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml">
     <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
     <title>数据查询</title>
     </head>
     <body> <p>&nbsp;</p>
     <form>                  <div align="center">媒体版本号:
                       <input name="banben" type="text" size="10" maxlength="5">
    选择线路
                     <select name="xianlu">
                        <option>0213</option>
                        <option>0203</option>
                        <option>0225</option>
                        <option>0214</option>
                        <option>0207</option>
                      </select>
                      选择状态
                     <select name="zhuangtai">
                        <option value="fin" selected="selected">完成</option>
                        <option value="new">未完成</option>
                      </select>
                      <label></label>
                      <input type="submit" name="submit" value="查询" />
                      </div>
             
     </form>
     <?php 
     if($_REQUEST['submit']!="")
     {
     $link=mysql_connect("127.0.0.1","root","12345678");   
     if(!$link) echo "没有连接成功!";   
    else echo "连接成功!";   
    mysql_select_db("busap", $link);          //选择数据库   //控制查询条件$q = "SELECT * FROM research where banben like '%{$_REQUEST['banben']}%' AND linename like '%{$_REQUEST['xianlu']}%' AND zhuangtai like '%{$_REQUEST['zhuangtai']}%' order by busname asc";   
      
     // mysql_query("SET NAMES GB2312"); //防止乱码
    $rs = mysql_query($q); //获取数据集
    $assoc= mysql_num_rows($rs);///影响的行数 , 原来用了mysql_fetch_assoc
     echo "$assoc";  $row=mysql_fetch_array($rs); //只需要补充回这一行. if(!$rs){die("Valid result!");}
     }
     ?>
     <table width="100%" border="1" align="center">   <tr>
         <td width="10%"><div align="center">线路</div></td>
         <td width="10%"><div align="center">中心编号</div></td>
         <td width="10%"><div align="center">线路</div></td>
         <td width="10%"><div align="center">车辆自编号</div></td>
         <td width="10%"><div align="center">传输方式</div></td>
         <td width="10%"><div align="center">媒体版本</div></td>
         <td width="10%"><div align="center">日期</div></td>
         <td width="10%"><div align="center">时间</div></td>
         <td width="10%"><div align="center">状态</div></td>
       </tr>
       <?php 
     do { ?>   <tr>
         <td width="10%"><div align="center"><?php echo $row[0]; ?></div></td>
         <td width="10%"><div align="center"><?php echo $row[1]; ?></div></td>
         <td width="10%"><div align="center"><?php echo $row[2]; ?></div></td>
         <td width="10%"><div align="center"><?php echo $row[3]; ?></div></td>
         <td width="10%"><div align="center"><?php echo $row[4]; ?></div></td>
         <td width="10%"><div align="center"><?php echo $row[5]; ?></div></td>
         <td width="10%"><div align="center"><?php echo $row[6]; ?></div></td>
         <td width="10%"><div align="center"><?php echo $row[7]; ?></div></td>
         <td width="10%"><div align="center"><?php echo $row[8]; ?></div></td>   </tr>
       <?php }while($row=mysql_fetch_array($rs)); ?>
     </table>
     </html> 
      

  7.   

    mysql_fetch_array加个判断就可以了