Merhaba arkadaşlar gelen veriye göre tasarımın değişmesini istiyorum
örnek verecek olursam.
Bir konuya ait resimler olduğunu düşünün
bu konunun 1 2 3 4 5 tane resmi var sayalım
1 resim için kolay ancak 2 3 4 5 tane resimler için nasıl bir yol izlemeliyim.
2 resim olduğunda yanyana 4 resim oldugunda 4 tane resım istenilen resım boyutlarında olacak bir nevi facebooktaki resim alanı gibi
nasıl bir yolu izlemek lazım
php Veriye göre tasarımın değişmesi +R10
13
●670
- 26-10-2014, 19:02:48
- 26-10-2014, 19:09:561) veri tabanından gelen resim adetini saydıracaksın ve her sayıya uygun bir tasarım hazırlayacaksın.
2) masonry gibi bir plugin kullanacaksın. belli bir alan vereceksin, o verilen alan içine resimleri optimal şekilde yerleştirecek. http://masonry.desandro.com/ - 26-10-2014, 19:14:52Yorumunuz için teşekkürlerdigiklan adlı üyeden alıntı: mesajı görüntüle
1 yöntemi yapıyorum
bir yere varamayınca yardım alayım dedim
gelen resimlerin kaç tane olduğunu çekip eğer 1 2 yada 3 4 ise
if($resim == "1"){
if($resim == "2"){
gibi ekleyerek eşitse göster filan yaptım ama hangi döngüde sorun var bir türlü bulamadım 1 resim düzgün gösteriyor ikinci resim yada diğerleri için gerekli resim pixel görünmüyor bunun sebebi ne olabilir. önceden farklı şekilde çalıştırıyordum ozaman daha zoru başarmıştım
ama şimdi yapamadım
- 26-10-2014, 20:09:26döngünüzün tamamını yazmadığınıza göre hatanın nerede olduğunu bulmak için müneccim olmak gerekiyor )
muhtemelen resim == 1 yerine
döngünüzün içinde kaçıncı resim olduğunu tutan değişkene göre işlem yaptırmanız lazım.
Ama kodunuzu görmeden konuşmak benim de sizin de zamanınızı boşa harcar. - 26-10-2014, 21:10:17yanıtın için çok teşekkürler kodlar aşağıdadigiklan adlı üyeden alıntı: mesajı görüntüle
<?php @$mesajlar = mysql_query("SELECT * FROM konular ORDER BY mid DESC LIMIT 20"); while( @$mesaj = mysql_fetch_assoc($mesajlar)) { @$avatar = $mesaj["uye_id"]; $mid = $mesaj["mid"]; @$uyeler = mysql_query("SELECT * FROM uyelerim WHERE uid = '$avatar'"); while(@$uye = mysql_fetch_assoc($uyeler)) { echo ' <table width="394" border="0">'; $resimler = mysql_query("SELECT * FROM resimler WHERE mid = '$mid'"); while($uye2 = mysql_fetch_assoc($resimler)) { $resimlink = $uye2["resimlinki"]; $resimid = $uye2["mid"]; $toplamresim = $uye2["resimlinki"]; $dizi=array("$resimlink"); $toplam2=count($dizi); $toplam = substr_count( $toplam2, "1" ); if($toplam=="1"){ echo'<tr><td width="50"></td> <td width="408"> <a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="408" height="350"></a></td></tr>'; } if($toplam==2){ echo'<tr><td width="50"></td><td width="408"> <a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="204" height="200"></a></td></tr>'; } if($toplam==3){ echo'<tr><td width="50"></td><td width="408"> <a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="131" height="130"></a></td></tr>'; } if($toplam==4){ echo'<tr><td width="50"></td><td width="408"> <a href="'.$uye2["resimlinki"].'" "><img class="sonresim" src="'.$uye2["resimlinki"].'" width="200" height="175"></a></td></tr>'; } } } ?> - 26-10-2014, 21:16:57Aşağıdaki kodu uyguladığınızda her 4 taneden birisi için <td width="480"> i olan html kodunu yazdıracak diğerleri için width="50" olan html kodunu yazdıracaktır.
($toplam%4) kodunda % mod alma işlemidir. Yani bu kod şunu yapıyor, $toplam değerinin sonucu 4'den küçük bir rakam olana dek 4'e bölme işlemi gerçekleştiriyor, en son kalan değeri döndürüyor. Örnekler;
$toplam değeri 10 olsun;
$toplam%4 işleminden dönecek rakam 2 'dir.
$toplam değeri 8 olsun;
$toplam%4 işleminden dönecek rakam 0 'dır.
$toplam değeri 15 olsun;
$toplam%4 işleminden dönecek rakam 3 'dür.
$toplam değeri 0 olsun;
$toplam%4 işleminden dönecek rakam 0'dır;
$toplam değeri 1 olsun;
$toplam%4 işleminden dönecek rakam 1 dir.
Umarım anlatabilmişimdir
Aşağıdaki kod işinizi görecektir.
<?php @$mesajlar = mysql_query("SELECT * FROM konular ORDER BY mid DESC LIMIT 20"); while( @$mesaj = mysql_fetch_assoc($mesajlar)) { @$avatar = $mesaj["uye_id"]; $mid = $mesaj["mid"]; @$uyeler = mysql_query("SELECT * FROM uyelerim WHERE uid = '$avatar'"); while(@$uye = mysql_fetch_assoc($uyeler)) { echo ' <table width="394" border="0">'; $resimler = mysql_query("SELECT * FROM resimler WHERE mid = '$mid'"); while($uye2 = mysql_fetch_assoc($resimler)) { $resimlink = $uye2["resimlinki"]; $resimid = $uye2["mid"]; $toplamresim = $uye2["resimlinki"]; $dizi=array("$resimlink"); $toplam2=count($dizi); $toplam = substr_count( $toplam2, "1" ); if(($toplam%4)==0){ echo'<tr><td width="50"></td> <td width="408"> <a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="408" height="350"></a></td></tr>'; } else { echo'<tr><td width="50"></td><td width="408"> <a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="204" height="200"></a></td></tr>'; } } } ?> - 26-10-2014, 21:22:30Koduna müdahale etmiyorum ama sana mantığını söyleyeyim.tarantula901 adlı üyeden alıntı: mesajı görüntüle
Sen uyeler sorgusunu while içine skuyorsun. ama resimler döngüsünü while içine sokmuyorsun neden? - 26-10-2014, 22:42:37Bu sekilde çalıştı ancak resim boyutu olarak elseden sonraki kodlar boyutunu gösterdi.Dogukan adlı üyeden alıntı: mesajı görüntüle
sizin gönderdiğiniz kod iki sekılde boyutlandırma var bende her 4 resımde farklı gorsellık olacak facebooktakı gıbı sızın kod bunu yapıormu
ıkıncı olarak su kodda bır sıkıntı var galıba
veren değer 4 tane resım varsa 1 1 1 1 seklınde gosterıor sızce sorun neresınde
$dizi=array("$resimicektim2"); $toplam2=count($dizi); $toplam = substr_count( $toplam2, "1" ); echo $toplam;
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 22:42:37 -->-> Daha önceki mesaj 21:33:29 --
ikisinide sokuyorum while dongusunedigiklan adlı üyeden alıntı: mesajı görüntüle - 26-10-2014, 22:46:47$toplam ve $toplam2 değişkenlerini neden kullandığınızı anlamadım. $i değişkeni atadım onun yerine bu şekilde işinizi görecektir.
<?php @$mesajlar = mysql_query("SELECT * FROM konular ORDER BY mid DESC LIMIT 20"); while( @$mesaj = mysql_fetch_assoc($mesajlar)) { @$avatar = $mesaj["uye_id"]; $mid = $mesaj["mid"]; @$uyeler = mysql_query("SELECT * FROM uyelerim WHERE uid = '$avatar'"); while(@$uye = mysql_fetch_assoc($uyeler)) { echo ' <table width="394" border="0">'; $i=0; $resimler = mysql_query("SELECT * FROM resimler WHERE mid = '$mid'"); while($uye2 = mysql_fetch_assoc($resimler)) { $resimlink = $uye2["resimlinki"]; $resimid = $uye2["mid"]; $toplamresim = $uye2["resimlinki"]; $dizi=array("$resimlink"); if(($i%4)==0){ echo'<tr><td width="50"></td> <td width="408"> <a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="408" height="350"></a></td></tr>'; } else { echo'<tr><td width="50"></td><td width="408"> <a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="204" height="200"></a></td></tr>'; } $i++; } } ?>
ama şimdi yapamadım
Aşağıdaki kod işinizi görecektir.