Php iki tablo birleştirme
Merhabalar. Basit bir makale sistemim var ;
<?php
$sorgu = $baglanti->query("select * from ogrenci");
while ($sonuc = $sorgu->fetch_assoc()) {
?>
<tr class="no-b">
<td class="w-10">
<a href='duzenle.php?id=<?php echo $sonuc["id"] ?>'><img src="" alt=""></a>
</td>
<td>
<h6><?php echo $sonuc["adi"] ?></h6>
<small class="text-muted"><?php echo $sonuc["soyadi"] ?></small>
</td>
bu şekilde anasayfada ogrenci tablosuna ait ad ve soyadı yazdırıyorum burda problem yok.
Yapmak istediğim işlem resimler tablomdaki öğrenciye ait olan resmi anasayfada tek resim olarak gösterme
öğrenci tablom ;
id ad soyad
resimler tablom
id resim ogrenciID
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
@coder hocam çok teşekkür ederim bu kod işimi gördü
Tekrar merhaba.
Bu konuda çok bir bilgim yok ama aşağıdaki şekilde yaparak sonuca ulaştım.
Sayfayı yeniledikçe resim değişiyor.
Daha iyi bir yol bulursam yeniden cevaplandırırım.
<table border="1" cellpadding="2" cellspacing="0">
<body>
<tr>
<td>Resim</td>
<td>Ad Soyad</td>
</tr>
<?php
$sorgu = $baglanti->query("SELECT * FROM ogrenci");
while ($sonuc = $sorgu->fetch(PDO::FETCH_ASSOC)) { ?>
<tr>
<td>
<?php
$sorgu2 = $baglanti->query('SELECT * FROM resimler WHERE ogrenciID = '.$sonuc["id"].' ORDER BY RAND() LIMIT 1');
$sonuc2 = $sorgu2->fetch(PDO::FETCH_ASSOC);
?>
<img src="<?php echo $sonuc2["resim"]; ?>">
</td>
<td>
<?php echo $sonuc["adi"]; ?>
<?php echo $sonuc["soyadi"]; ?>
</td>
</tr>
<?php } ?>
</body>
</table>
@coder hocam teşekkür ederim yazdığın şekilde öğrenciye ait 3 fotoğraf varsa 3 ünüde çekiyor sadece 3 taneden rasgele 1 tanesini anasayfada göstermek istiyorum sorgunun sonuna LIMIT 1 yazdığım zamanda resimler tablosundan 1 tane gösteriyor örneğin anasayfada 3 öğrenci ismi varsa 3 resim gelmesi gerekirken 1 resim geliyor.
Resimler tablosunu çoklu resim olayı olduğu için ayırdım.
Merhaba.
Aşağıdaki kodu deneyin.
<?php
$sorgu = $baglanti->query("SELECT * FROM ogrenci INNER JOIN resimler ON ogrenci.id = resimler.ogrenciID");
while ($sonuc = $sorgu->fetch_assoc()) { ?>
<tr class="no-b">
<td class="w-10">
<a href='duzenle.php?id=<?php echo $sonuc["id"] ?>'><img src="<?php echo $sonuc["resim"] ?>" alt=""></a>
</td>
<td>
<h6><?php echo $sonuc["adi"] ?></h6>
<small class="text-muted"><?php echo $sonuc["soyadi"] ?></small>
</td>
</tr>
<?php } ?>
Ama bence öğrenci resimlerini ayrı bir tabloda tutmak yerine öğrenci tablosuna bir sütun daha aç resim adında. Ve resimleri orada tut.