Resim Görüntülenmesinden Sorun Var

BİÇİCİ

New member
Katılım
22 Eki 2006
Mesajlar
325
Reaction score
0
Puanları
0
Konum
HACK CEHENNEMİ
Emlak Sitemde Bir Gayrimenkule Ait Resim Olduğunda Yada olmadığında yapacağını bir if döngüsü ile hallettim ama gayrimenkule ait tek bir resim görüntüleniyor normalde en az 5 resim var bir emlakta bu sorunu nasıl çözebilirim bilen varsa yardım ederse minnettar kalırım kodu aşağıda verdim ;

<?php
$lijstGebruikers = "SELECT * FROM resimler WHERE ilanid=’$id’";

$resultLijstGebruikers = mysql_query($lijstGebruikers);

while ($row = mysql_fetch_array($resultLijstGebruikers)) {
$goruntule = $row[resim1];
$ilanid = $row[ilanid];
}
?>
<?php
if ($goruntule > 0) {
?>
<div style="width:350px;">
<div style="width:100px; float:left;"><a href= "<? echo’/yonetim/uploads/’. $goruntule . ’’?>" target="_blank"><IMG SRC ="<? echo’/yonetim/uploads/’. $goruntule . ’’?>" BORDER = \\"2\\" BORDERCOLOR = \\"#000000\\" HEIGHT = \\"100\\" WIDTH = \\"140\\"></a></div>
</div>
<?php }else{ ?>
<div style="width:350px;">
<div style="width:100px; float:left;"><a href= "/yonetim/uploads/nophoto.jpg" target="_blank"><IMG SRC ="/yonetim/uploads/nophoto.jpg" BORDER = \\"2\\" BORDERCOLOR = \\"#000000\\" HEIGHT = \\"100\\" WIDTH = \\"140\\"></a></div>
</div>
<?php } ?>
 
senin burdaki hatan direk resim1 alanındaki kaydı ife sokuyorsun ......

tablo yapın nasıl bilmiyorum ama tahminimce soyle;

+-----+------------+------------+--------------+----------+---------+
| ID | resim1 | resim2 | resim3 | resim4 | resim5 |
+-----+------------+------------+--------------+----------+---------+
| 1 |resim1.jpg| resim2.jpg | resim3.jpg | NULL | NULL |
+---------------------------------------------------------------------------
| 2 | NULL | resim2.jpg | NULL | NULL | NULL |


eğer yukarıdaki bir tabloya sahipsen kullandığın kodlarda mantıksızlık oluşacaktır. if döngusune soktugun

$goruntule = $row[resim1];

kodu sadece resim1 alanı için yapılmış. yani bu alanın boş olması durumunda resimyok.jpg calıstırılırken var olması durumunda resim1.jpg calıstırılacak. Bu durum 1 nolu ID için -kısmen- olumlu sonuc verirken,
2 nolu ID için olumsuz sonuc verecektir. Nitekim ID 2 'nin resim1 alanı NULL, resim2 Alanı ise resim2.jpg ile doludur. Bunu duzeltmek için tablonu,


+-----+------------+------------------+
| ID | ilanID | resimAdresi |
+-----+------------+------------------+
| 1 | 2 | resim1.jpg |
+---------------------------------------+
| 2 | 2 | resim2.jpg |
+-----+------------+------------------+
| 3 | 2 | resim3.jpg |
+---------------------------------------+
| 4 | 3 | NULL |

şeklinde bir yapıya kavusturman senin için daha kolay olacaktır. Bu durumda kodlama ise;

PHP:
<?php

// ilangoster.php?ilanID=2 şeklinde bir url geliyorsa
// ilanID'imizi alıyoruz
$_ilanID = mysql_real_escape_string($_GET["ilanID"]);

//kontrol zamanı
//ilanID değişkenimiz boşsa veya numerik bir değer değilse anasayfaya yonlensin
if ( empty($_ilanID) || !is_numeric($_ilanID)) {
   header("Location: index.php");
} else {

//sorgu cumlemiz (sprintf ile guvenliği arttırabiirsiniz. gerek gorurseniz sprintf komutunu anlatırım)
$_sql = "SELECT * FROM t_ilanResim WHERE ilanID = 'ilanID' ";
$_sorgu = mysql_query($_sql);

//kayıtSayısını aldık. Şimdi kosulumuzu bu sayıya gore yapacaqız
$_kayitSayisi = mysql_num_rows($_sorgu);

if ($_kayitSayisi < 1) {
  echo "Resim Bulunamadı.";  // resimyok.jpg alani.
} else {
  // resim varsa while dongusune sokalım.
  while ( $_resim = mysql_fetch_assoc($_sorgu)) {
  echo $_resim["resimAdresi"]."<br>";
  }

}

}

?>


işte kodlama bu kadar ... benim stilim benim yöntemim budur... yardımcı olabildiysem ne mutlu bana :)

Kolay Gelsin
Süleyman DENİZHAN
 
Geri
Üst