簡體   English   中英

PHP搜索引擎

[英]php search engine

我有3個表格,我想用我的搜索php訪問。 其中2個包含所有用戶個人資料信息。 一個稱為cprofile,另一個稱為bprofile。 它們都鏈接到包含用戶名,電子郵件,密碼以及最重要的個人資料圖片的用戶表。

使用搜索引擎,我試圖訪問從搜索到個人資料表的信息,並從用戶表中收集帳戶信息。 這是我用於搜索兩種類型用戶的代碼:

$search_output = "";
if( isset($_POST['searchquery']) && $_POST['searchquery'] != "" ) {
    $searchquery = preg_replace('#[^a-z 0-9?!]#i', '', $_POST['searchquery']);
    if($_POST['filter1'] == "Whole Site") {
        $sqlCommand = "(SELECT count(*) FROM cprofile WHERE firstname ='%".$searchquery."%' OR lastname ='%".$searchquery."%')
            UNION (SELECT  count(*) FROM bprofile WHERE cname ='%".$searchquery."%')";
        $query = mysqli_query( $db_conx, $sqlCommand ) or die( mysqli_error($db_conx) );
        $count = mysqli_num_rows( $query ); 
        while( $row = mysqli_fetch_array($query, MYSQLI_ASSOC) ) {
            $userid = $row["userID"];
            $ret = mysqli_query($db_conx, "SELECT id, username FROM users WHERE id='$userid'");
            while($raw = mysqli_fetch_array($ret, MYSQLI_ASSOC)) {
                $username = $raw['username']; $file= $raw['avatar'];
            }
        }
    }
}

有誰注意到我要去哪里錯了以及我該如何解決這個問題? 提前致謝

我在這里可能走錯了方向,但是您正在從查詢中獲取計數,然后在while循環中查找userID。 如果兩者都想做的話

$sqlCommand = "
  (SELECT userid, count(*) as count FROM cprofile WHERE firstname ='%".$searchquery."%' OR lastname ='%".$searchquery."%')
    UNION 
  (SELECT userid, count(*) as count FROM bprofile WHERE cname ='%".$searchquery."%')
";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM