2011-04-10 146 views
0

試圖在查詢後過濾結果。需要在tinytext字符串中找到一個字符串。這看起來像:accounting, ACT, algebra 1, algebra 2, American history, biology, calculus, economics, English, European history, geometry, grammar, literature, piano, proofreading, psychology, reading, SAT math, SAT reading, SAT writing, statistics, violin, vocabulary,查詢後的php mysql過濾器

代碼 - 主題字符串發現是$subject和搜索列表$row['SubjectList']

$result = mysql_query($query, $dbConn); 
$i=0; 
while ($row = @mysql_fetch_assoc($result)){ 
    $results[$i]['Name'] = $row['Name']; 
    $results[$i]['Zip'] = $row['ZipCode']; 
    $results[$i]['SubjectList'] = $row['SubjectList']; 
    $i++; 
} 

回答

1

你完全做了錯誤的方式。

  1. 這樣的過濾應該在DB端完成,而不是在PHP中完成。
  2. 這些主題不應該像那樣存儲,而應存儲在關係表中的單獨字段中。
+0

只是想與我有什麼工作...可以不會移動到關係表,而且查詢也非常複雜,我已經發布了2個關於如何將搜索添加到它的問題,但沒有人提供了一個可行的解決方案...所以我試圖用條件事實......他們不得不進入陣列。你能幫助解決當前的問題嗎? – Jeffrey 2011-04-10 08:37:23

0

雖然我與Col.彈片答案達成一致,在特定情況下,你正在尋找的strpos功能,如果你真的想這樣做在PHP

+0

我試過了strpos,也爆炸了,它們返回了很多空的$結果。 – Jeffrey 2011-04-10 08:44:38

+0

你可以用你試過的和失敗的信息更新你的問題嗎? – ChrisWue 2011-04-10 08:51:09

+0

在數據庫查詢中算出來......必須刪除sprintf – Jeffrey 2011-04-10 09:15:58