• 26-10-2014, 19:02:48
    #1
    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
  • 26-10-2014, 19:09:56
    #2
    1) 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:52
    #3
    digiklan adlı üyeden alıntı: mesajı görüntüle
    1) 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/
    Yorumunuz için teşekkürler

    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:26
    #4
    dö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:17
    #5
    digiklan adlı üyeden alıntı: mesajı görüntüle
    dö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.
    yanıtın için çok teşekkürler kodlar aşağıda

    <?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">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<a href="'.$uye2["resimlinki"].'" "><img class="sonresim" src="'.$uye2["resimlinki"].'" width="200" height="175"></a></td></tr>';
    }
    
    
    }
    
    }
    
    
    ?>
  • 26-10-2014, 21:16:57
    #6
    Aş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">&nbsp;<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">&nbsp;<a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="204" height="200"></a></td></tr>';
     
    }
     
    }
     
    }
     
     
    ?>
  • 26-10-2014, 21:22:30
    #7
    tarantula901 adlı üyeden alıntı: mesajı görüntüle
    yanıtın için çok teşekkürler kodlar aşağıda

    <?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">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<a href="'.$uye2["resimlinki"].'" "><img class="sonresim" src="'.$uye2["resimlinki"].'" width="200" height="175"></a></td></tr>';
    }
    
    
    }
    
    }
    
    
    ?>
    Koduna müdahale etmiyorum ama sana mantığını söyleyeyim.
    Sen uyeler sorgusunu while içine skuyorsun. ama resimler döngüsünü while içine sokmuyorsun neden?
  • 26-10-2014, 22:42:37
    #8
    Dogukan adlı üyeden alıntı: mesajı görüntüle
    Aş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">&nbsp;<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">&nbsp;<a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="204" height="200"></a></td></tr>';
     
    }
     
    }
     
    }
     
     
    ?>
    Bu sekilde çalıştı ancak resim boyutu olarak elseden sonraki kodlar boyutunu gösterdi.

    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 --

    digiklan adlı üyeden alıntı: mesajı görüntüle
    Koduna müdahale etmiyorum ama sana mantığını söyleyeyim.
    Sen uyeler sorgusunu while içine skuyorsun. ama resimler döngüsünü while içine sokmuyorsun neden?
    ikisinide sokuyorum while dongusune
  • 26-10-2014, 22:46:47
    #9
    $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">&nbsp;<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">&nbsp;<a href="'.$uye2["resimlinki"].'" ><img class="sonresim" src="'.$uye2["resimlinki"].'" width="204" height="200"></a></td></tr>';
     
    }
     $i++;
    }
     
    }
     
     
    ?>