Nasıl (implode) MySQL Dizi katılırım?

4 Cevap php

Implode () fonksiyonu normal dizilerde çalışır, ama (ben de mysql_fetch_row denedim) mysql_fetch_array ile oluşturulan diziler üzerinde çalışmıyor

Bunları nasıl işe alabilirim?

Yukarıda tanımlandığı gibidir:

$friends = mysql_query("SELECT * FROM friend 

WHERE u1='$userinfo[username]' OR u2='$userinfo[username]' ");

Ve daha aşağı:

$friendsrow = mysql_fetch_array($friends);
$friendsrow = join(",",$friendsrow);

$friendnotes = mysql_query("SELECT nid,user,subject,message FROM friendnote WHERE user IN ($friendsrow) ORDER BY timestamp ASC LIMIT 0,5");

(Durumda sizin merak, o bir topluluk sitesi için)

4 Cevap

Her zaman sub-select kullanın ve IN() operatör için iletebilirsiniz.

Ben yanlış bir şey katılmadan düşünüyorum. Sen tüm arkadaşı ROW ediyorlar, bu yüzden sonuç ', vb Johnny, 23years, '1. Ben arkadaşım kimliklerinin '1, 2,3,4,5 'bir listesini istiyorum varsayarak yaşıyorum. Eimantas Dediğim gibi bir alt sorgu kullanmak daha iyidir.

SELECT nid,user,subject,message 
FROM friendnote 
WHERE user IN ((SELECT u2 FROM friends WHERE u1 = $userinfo[username])
               UNION
               (SELECT u1 FROM friends WHERE u2 = $userinfo[username]))
ORDER BY timestamp ASC LIMIT 0,5

mysql_fetch_array onlar hakkında özel bir şey yok normal diziler döndürür. Belki sorgu şey dönen ve bu durumda döner false mysql_fetch_array değildir. Sonucu implode denemeden önce bunun için kontrol edin.