$MakaleY = $db->query("SELECT y.*,r.id as rid,r.baslik from yorum y inner join resim r on r.id=y.resimid order by y.id desc limit 10");
$MakaleY = $db->query("SELECT y.*,r.id as rid,r.kulresim,kuladsoyad from yorum y inner join uye r on r.id=y.uyeid order by y.id desc limit 10");
$MakaleAlY = $MakaleY->fetchAll(PDO::FETCH_ASSOC);
Arkadaşlar üstteki sorgu ile yorum tablosundan yorumları çekiyorum ve resim tablosundaki başlığı dahil ediyorum.
Alttaki ile ise kullanıcı avatarı ve ismini çekiyorum.
Ne varki ikisi birlikte çalışmıyor 2. satırı eklediğimde başlık görünmüyor iki satırı birleştirmek gerek sanırım. Karantina da canı sıkılan PHP uzmanlarının yardımına ihtiyaç var.
Lütfen parayla yaparım diyen arkadaşlar cevap yazmasın.
Selamlar..
PHP iki sorguyu birleştirmek
6
●305
- 18-04-2020, 12:47:39Merhaba,
Bence bunun 2 tür yolu var.
Yol 1: MySQL ile Select UNION özelliğini kullanarak iki tabloyu tek satırda birleştirmeniz.
Örnek: https://www.w3schools.com/sql/sql_union.asp
Yol 2: $makale1 ve $makale2 diye ayrı ayrı değişken adı verin ve bunu bir array içerisinde birleştirip kullanın. - 18-04-2020, 12:58:40Malesef o kadar bilgim yok.
Aşağıdaki gibi bir şeyler yaptım çalışıyor ama emin değilim saçma bir yöntem olabilir gibi geliyor.
<?php
require 'header.php';
$MakaleY = $db->query("SELECT y.*,r.id as rid,r.baslik from yorum y inner join resim r on r.id=y.resimid order by y.id desc limit 10");
$MakaleAlY = $MakaleY->fetchAll(PDO::FETCH_ASSOC);
$MakaleY2 = $db->query("SELECT y.*,r.id as rid,r.kulresim,kuladsoyad from yorum y inner join uye r on r.id=y.uyeid order by y.id desc limit 10");
$MakaleAlY2 = $MakaleY2->fetchAll(PDO::FETCH_ASSOC);
?>
<div class="col-lg-6">
<?php foreach($MakaleAlY as $MakaleCekY){?>
<?php foreach($MakaleAlY2 as $MakaleCekY2){?>
Yorum: <?php echo $MakaleCekY['yorum']; ?>
Başlık: <?php echo $MakaleCekY['baslik']; ?>
Kullanıcı adı: <?php echo $MakaleCekY2['kuladsoyad']; ?>
Kullanıcı resmi: <?php echo $MakaleCekY2['kulresim'] ?>
<?php } ?>
<?php } ?>
</div>
@GundogduYakici;
Edit: yok düzgün çalışmıyormuş aynı yorumları farklı üyelerde defalarca yapmış gibi bir durum olmuş.. - 18-04-2020, 13:30:47
SELECT y.*, r.id as rid, r.baslik, u.id as uid, u.kulresim, u.kuladsoyad from yorum y inner join resim r on r.id = y.resimid inner join uye u on u.id = y.uyeid order by y.id desc limit 10
Bu şekilde dene fakat inner join lere dikkat etmelisin diğer tablolarda veri eksikse yorumlarda görünmeyebilir.Kullandığın yapıya göre left join de kullanabilirsin. - 18-04-2020, 13:39:06Teşekkürler arkadaşım oldu. Böyle kodları biraz anlıyacağımız gibi döktünüz mü tadından yenmiyorByMchts adlı üyeden alıntı: mesajı görüntüle

Şurada çözemediğim benzer bir sorunum daha var vaktin olursa göz atabilirsen memnun olurum.
Üstteki kodla aynı aslında sorun, yukarıda tüm yorumları sıralıyor aşağıdaki sorunda belli bir üyenin yorumlarını sıralasın istiyorum. Yukarıda verdiğin koda koda WHERE uyeid=$id bunu eklesek işimi görecek gibi..
Şu sonucu vermesi gerekiyor..

https://www.r10.net/php/2313294-php-sorgu-yardim-lutfen.html#post1076778279 - 18-04-2020, 15:44:22Eyvallah. Elli tane yöntem denedim olmamıştıByMchts adlı üyeden alıntı: mesajı görüntüle

