İki Tablodan Rasgele Veri Çekme(Php)
-
Müridler bir otel sitesi gibi bişey yapıyordum kafama bişey takıldı nette baktım ama bulamadım.Siteyi php ile hazırladım.Veritabanında odlar ve toplanti diye iki tane tablo var bu tablolardan rasgele veri cekmek istedim ama olmadı.Sürekli toplanti tablosundaki verileri çekiyor.Bunun nasıl yapabilirim.
yazdıgım kod:
SELECT * FROM odalar,toplanti ORDER BY RAND() LIMIT 5
-
tablo bilgisini php'de bir array'a at. Daha sonra o array'dan random bi değer seç.
$arr[0]="odalar";
$arr[1]="toplanti";
$table= $arr[rand(0,1)];
select from $table ...
şeklinde
-
redLine bunu yazdı:
-----------------------------tablo bilgisini php'de bir array'a at. Daha sonra o array'dan random bi değer seç.
$arr[0]="odalar";
$arr[1]="toplanti";
$table= $arr[rand(0,1)];
select from $table ...
şeklinde
-----------------------------Hocam ama bu seferde sayfa acıldıgında bir odalar tablosundan bilgileri ekrana yazdıracak sayfa yenilendiginde toplantı tablosundan gösterecek benim istedigim aynı anda bir odalardan bir toplantıdan aynı sayfada cıkması.
Birde öyle bir sorun daha var rasgele cektigim verilerin baze aynı sayfada aynısından cıkıyor bunu nasıl kontrol ettirebilirim.
-
sql doğru ekrana bastırırken bi yanlış yapıyon muhtemelen
-
snnyk bunu yazdı:
-----------------------------sql doğru ekrana bastırırken bi yanlış yapıyon muhtemelen
-----------------------------Hocam ekran bastırmayı bu şekilde yapıyorum
<div class="kucuk_resim"><a href="#"><img src="<? echo $icerik_sorgula1['kucuk_resim'];?>" width="200" height="120" border="0" /></a></div>
ama ekrana iki tablodanda alıp yazdırmıyor.
-
Aynı anda iki tabloyu birden çekip sql'i yorma diye o şekilde önermiştim.
Tahminimce şu anda iki tabloda da aynı kolon olduğundan dolayı sorun çıkıyordur.
php'de
echo '<pre>';
print_r($icerik_sorgula1);
yaparsan mevcut sql sonucunda gelen sonuçların isimlerini görebilirsin.
ikisinde birden kucuk_resim olduğundan $icerik_sorgula1["kucuk_resim"] senin istediğin sonucu vermez. print_r ile gelen sonuca göre kodunu modifiye etmelisin.
sırayla sonuç vermesini istiyorsan while'ın arasına bir if else koyarsın bir dönüşünde $icerik_sorgula1["kucuk_resim"]'i bir dönüşünde $icerik_sorgula1[8] (artık değer ne ise) okutursun.
-
farklı bir yol olarak, 1 ve 2 sayılarını random oluşturtturursun php de, oluşturulan 1 veya 2 ye göre sql sorgusu gonderırsın.
örn:
oluşturulan random sayı 1 e eşitse, select * from odalar order by rand() limit 5
eğer 2 ise oluşturulan random sayı, select * from toplanti order by rand() limit 5
şeklinde yapabilirsin. farklı çözüm yolları da vardır muhakkak. ilk aklıma bu geldi.
