Ilgili kalemler için döngü kullanarak diziyi oluşturun

1 Cevap php

Ben etiketleri dayalı haber için "ilgili makaleler", (tek bir kelime etiketleri) oluşturmak için çalışıyorum. Bir hikaye 3 etiketleri ile etiketlenmiş ise, ben, her etiket için en son girdileri yukarı çekin tarihe göre bunları sipariş ve sadece en son 5 görüntülemek edebilmek istiyorum.

İşte ben o geçer son etiketi ile dizi değişken $ pullRelated yazar, çünkü belli ki, işe yaramazsa, çalışıyorum buydu. Ben orada saplanıp beri, ben tarihe göre tüm girdileri sıralama ve sonra sadece 5 en son görüntüleme hakkında gitmek nasıl emin değildi. Herhangi bir yardım takdir edilmektedir. Teşekkürler!

    foreach ($tags as $t) {

    $pullRelated = mysql_query("SELECT * FROM posts WHERE MATCH(tags) AGAINST ('$t') AND status >= 2 AND newsID != $newsID ORDER by postDate DESC LIMIT 5");

    }

    while($related = mysql_fetch_array($pullRelated)) {
        echo $related['postTitle']." ".date("M j, Y",$related['postDate'])."<BR>";
}

1 Cevap

Neden doğrudan MySQL TAM METİN endeksi Boole modunu kullanmak değil mi?

$str = '';
foreach ($tags as $t) 
    $str .= '+'.$t.' ';

$q = mysql_query("SELECT * FROM posts WHERE MATCH(tags) AGAINST ('$str' IN BOOLEAN MODE) AND status >= 2 AND newsID != $newsID ORDER by postDate DESC LIMIT 5");

while($related = mysql_fetch_array($q))
    echo $related['postTitle']." ".date("M j, Y",$related['postDate'])."<BR>";