merhaba arkadaşlar sql den istediğim tarzda bir veri çekemedim yardımcı olursanız sevinirim.
şimdi 2 tablomuz var yazarlar ve makaleler die.
ben yazarlardan durumu 1 olanların makalelerini çekiyorum 2 while kullanarak fakat düz sırayla gelmiyor.
örnek:
$query = mysql_query("SELECT * FROM yazarlar WHERE durum='1' ORDER BY id DESC");
while( $row = mysql_fetch_assoc($query))
{
$yazarisim = $row["yazarisim"];
$soryazilar = mysql_query("SELECT * FROM makaleler WHERE gonderen='$yazarisim' ORDER BY id DESC");
While($yazyazilar=mysql_fetch_array($soryazilar)){
$makale = $yazyazilar["makale"];
echo "$makale";
}
}
böyle çekince sonuc aynı kullanıcının makaleleri alt alta geliyor sonra diğer yazara geçiyor oysa ben makaleleri son eklenenlere göre göstermek istiyorum varmı çözebilen ?
böyle birşeyi nasıl yaparım ?
10
●692
- 26-07-2013, 19:56:16sadece son eklenen makaleleri istiyorsun anladığım kadarı ile.
$query = mysql_query("SELECT * FROM makaleler ORDER BY id DESC"); while( $row = mysql_fetch_assoc($query)) { $sonmakaleler = $row["makale"]; echo $sonmakaleler.'<br />'; }makaleler tablosunda id sütunu olduğunu varsayıyorum. - 26-07-2013, 19:59:58hocam kodlara baktıysanız demek istediğim o değil. php biliyorumda o mantığı kuramadım. yazarlar tablosunda sadece yazar isimleri ve durumu var. yani verdiğiniz kodda orada makale olmadıgı için çekemeyiz.
istediğim şu yazarlar tablosunda durum değeri 1 olanları al ve makaleler tablosundan bu isimdekilerin makalelerini listele. üstteki kodda bunu yapıyorum ancak makale tarihine göre değilde yazarlar isimlerinin listelenmesine göre verio makaleleri ki o koda göre dogal olanda bu. benim istediğim son makalelere göre listelemesi bunu nasıl yaparım ? - 26-07-2013, 21:04:36benim yazdıgım kod yalnış biliyorum anlatabilmek için yazdım.
tam açıklıyım tabloları
yazarlar
-yazarismi
-durum
makaleler
-makale
-tarih
şimdi diyelimki yazarlar da 5 tane yazar var bunlardan 2 tanesinin durum değeri 1 oldugu için sadece bu 2 si çekilecek ve makaleler tablosundan bunlara ait makaleler çekilecek bu kod ile sizinde üstte verdiğiniz şekil cıkar
Yazar10
yazısı3
yazısı2
yazısı1
Yazar9
yazısı3
yazısı2
yazısı1
oysa ben yazılarının son eklenmesine göre listeletmek istiyorum. örnek :
Yazar10
yazısı3
Yazar9
yazısı3
Yazar10
Yazısı2
Yazar9
yazısı2
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 21:04:36 -->-> Daha önceki mesaj 20:20:30 --
yokmu bunu çözebilecek ? - 27-07-2013, 00:28:25nasıl olacak o dediğiniz ?biomooj adlı üyeden alıntı: mesajı görüntüle
$soryazilar = mysql_query("SELECT * FROM makaleler WHERE gonderen='$yazarisim' ORDER BY id DESC");
bu sorgudaki $yazarisim verisi nerden gelecek peki ? - 27-07-2013, 00:41:56makaleler döngüsünün içinde tüm filtrelemeleri yapabilir, istediğin bilgileri alabilirsin. diğer türlü yazarlar tablosuna göre sıralama olur. son eklenen yazılara göre sıralama yapamazsın. makaleler döngüsünü en üste alacağından where olmayacak orada zaten. php bildiğinden emin misin?kaptanasi adlı üyeden alıntı: mesajı görüntüle