熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP網絡開發詳解:搜索頁面的設計

2013-11-15 12:41:13  來源: PHP編程 
    ——此文章摘自《完全手冊PHP網絡開發詳解》定價 特價 詳細>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

    PHP對於數據庫的搜索主要通過使用SQL語句中的like子句來實現如果同時搜索多個關鍵詞可以使用union子句來將搜索結果合並起來以下代碼實現了一個搜索頁面
    <?php require_once(Connections/connphp); ?>
    <?php
    $colname_rs = $_GET[key];                 //獲得用戶輸入
    $result = explode($_GET[key]);//分解用戶輸入的多個關鍵詞存入$result數組
    mysql_select_db($database_conn $conn); //連接數據庫
    //根據多個關鍵詞構建SQL語句
    $query_rs = SELECT * FROM (;
    for($i=;$i<count($result);$i++)            //根據每個搜索關鍵詞構建SQL語句
    {
      if($i==)                                 //對第一個關鍵詞不使用UNION
        $query_rs = SELECT * FROM searchtable WHERE title LIKE %$result[]%
            OR content LIKE %$result[]%;
      else                                      //對其他關鍵詞使用UNION連接
        $query_rs = UNION SELECT * FROM searchtable WHERE title LIKE
            %$result[$i]% OR content LIKE %$result[$i]%;
    }
    $query_rs = ) T ORDER BY last_access DESC;   //對搜索結果排序
    //執行SQL語句
    $rs = mysql_query($query_rs $conn) or die(mysql_error());
    $row_rs = mysql_fetch_assoc($rs);
    $totalRows_rs = mysql_num_rows($rs);
    ?>
    <html>
    <head>
    <title>Search</title>
    <meta httpequiv=ContentType content=text/html; charset=gb>
    </head>
    <body>
    <form name=form method=get action=?>
      <div align=center>請輸入要搜索關鍵詞
        <input name=key type=text size= value=<?php echo $_GET[key] ?>>
        <input type=submit value=Submit>
      </div>
    </form>
    <p align=center><B>當前關鍵詞
    <?php
    for($i=;$i<count($result);$i++) {          //循環顯示關鍵詞
      echo $result[$i] ;
    }
    ?></B></p>
    <p><hr></p>
    <?php if($totalRows_rs>) do {              //顯示當前搜索結果 ?>
    <p>* <a href=showphp?key=<?php echo $colname_rs ?>&id=<?php echo
        $row_rs[id]; ?>><?php echo $row_rs[title]; ?></a>(<?php echo
        $row_rs[click]; ?> | <?php echo $row_rs[last_access]; ?>)</p>
    <?php } while ($row_rs = mysql_fetch_assoc($rs)); ?>
    </body>
    </html>
    <?php
    mysql_free_result($rs);
    ?>

    這裡在頁面上可以使用英文逗號來實現多個關鍵詞的搜索運行結果如圖所示

http://developcsaicn/web/images/jpg>
  搜索頁面

    這裡仍然將與數據庫的連接放到一個專門的PHP文件中以方便後期的修改


From:http://tw.wingwit.com/Article/program/PHP/201311/21411.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.