我正在編寫一個搜索過濾器,它將採用一系列條件,查詢數據庫並返回一組匹配的用戶名。這基本上是我在做什麼:使用PHP和MySQL進行搜索過濾
if (!empty($_GET['cat'])) {
$category = urldecode($_GET['cat']);
$category_query = "SELECT DISTINCT username FROM tutor_subjects_taught WHERE category = '{$category}'";
$category_process = mysql_query($category_query);
while ($row2 = mysql_fetch_assoc($category_process)) {
$usernames[] = $row2['username'];
}
}
這需要從URL中設置的類別和查詢數據庫的匹配這一點,用戶名,並把它變成一個數組。
現在,我需要做的是使用額外的「過濾器」來縮小這些用戶名。我的問題是:如果$ usernames數組已被設置,我如何創建一個循環查詢來檢出每個用戶名,然後返回一個匹配的子集數組?
例如,假設$ username已由前一位代碼設置,因爲我們已經有一個$ _GET ['cat']變量集。現在我們添加另一個$ _GET變量「rev」:
if (!empty($_GET['rev']) && isset($usernames)) {
//Need to create loop here that will take all usernames in array from the previous block of code, check them for rev matching specific number, and return those that match into the $usernames array.
}
讓我看看,如果我得到這個權利。你想要查詢數據庫的過濾器,創建一個結果數組,然後用另一個過濾器和創建的數組做同樣的事情。然後爲每個過濾器重複執行該操作? –
基本上,如果在URL中設置了一個過濾器,我想根據該條件查詢用戶並返回他們的用戶名數組。然後,如果隨後又設置了另一個過濾器,我想查詢數據庫中是否有每個用戶名已被提取,並查看這些用戶是否符合新條件。然後,我想返回符合兩個條件的用戶數組。比方說,我們從教授「數學」的5位用戶開始,然後設置一個新的過濾器「至少有5條評論」。系統應該取每個拉動的數字並檢查他們是否至少有5條評論。只有那些會被退回。 – Arun