|  | Posted by C. (http://symcbean.blogspot.com/) on 11/01/07 16:18 
On 1 Nov, 10:32, joanna <m...@barrelofcrafts.com> wrote:> Okay, my snippet goes hand in hand it is supposed to not show bad
 > words that were searched for and it is supposed to show the 10 most
 > recent searches. Here's my problem, it is only showing the 10th row as
 > far as recent searches and the filtering of bad words doesn't work.
 >
 > $query=@mysql_query("SELECT search,recent FROM search
 >          ORDER BY recent ASC LIMIT 0,10 ");
 >
 >          while($row = mysql_fetch_array( $query ))
 > {
 >
 > $badWords = array('stupid', 'Jerk');
 > $numBadWords = count($badWords);
 >
 > for($i="0";$i<$numBadWords;$i++){
 >      if(stripos($ss_mess,$badWords[$i]) != FALSE){
 >
 >      }
 >
 > }
 >
 > $recent=($row['search']);
 >
 > }
 >
 >      echo $recent;
 >
 > I should note that search is both a field and the name of the table (i
 > know not the best design) and the field "recent" is timestamp type.
 
 You're doing it wrong - trying to exclude a dataset in PHP from a
 dataset held in the database by moving them both to PHP. Try with them
 both in the database:
 
 SELECT search,recent FROM search OUTER JOIN badwords ON
 (search.search=badwords.word)
 WHERE badwords.word IS NULL
 ORDER BY recent ASC LIMIT 0,10
 
 C.
  Navigation: [Reply to this message] |