• 24-08-2022, 17:05:57
    #10
    Ben anlatamıyorum sanırım veri olduğu zaman sorun yok.
    Veri olmadığı zaman sorun var.
    ilk defa if else kullanmıyorum tüm kombinasyonları denedim ama nerede hata yapıyorum bulamadım belki ufak bir şey gözden kaçıyordur.
  • 24-08-2022, 17:13:14
    #11
    Ben anlatamıyorum sanırım veri olduğu zaman sorun yok.
    Veri olmadığı zaman sorun var.
    ilk defa if else kullanmıyorum tüm kombinasyonları denedim ama nerede hata yapıyorum bulamadım belki ufak bir şey gözden kaçıyordur.
    Tablo bu şekilde.
    att_item de kayıtlı tüm verileri çekiyorum eğer att_item de veri yoksa boş dönmesi gerekiyor ama boş döndürmüyor.
    Bu şekilde sorun yok veri olduğu için.
    Bu verileri sildiğimde boş yani
    $resimyok = "<img style="padding:2px; width:505px; height:300px;" class="img-fluid" src="img/bos.png" />";
    Çalışması gerekiyor ama çalışmıyor.


    Miniyazilimci adlı üyeden alıntı: mesajı görüntüle
    öncelikle hatayı iften önce while'de arayın while içerisine giriyor mu?
    ikinci olarak print_r yapın $row['att_item'] içi dolu mu boş mu bakın. Tek tek bakmanız lazım yani.
    En önemlisi yazdığınız sorgu çalışıyor mu? printleyin veya phpmyadmin içerisine yazdığınızda çalışıyor mu?
    egedelpieroavci adlı üyeden alıntı: mesajı görüntüle
    if içerisinde koşulu sağlayacak bir sorgu yok. empty ile değişken boş veya dolu değil mi öyle sorgulamayı deneyin.
    Şuna benzer bir şey olabilir;


    $item=$row['att_item'];
    if (empty($item))
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Buradaki mantık hatası, veri yoksa while döngüsüne girmeyeceği için oluşuyor. Tablodan birden fazla veri mi dönüyor? Her satır için resim var yok kontrolü mü yapmak istiyorsunuz, tam olarak istediğinizi söyleyin yardımcı olalım.
    Hepinize teşekkürler.
    Aşağıdaki şekilde çözdüm.

    Mantıklı değil bana göre ama çalışıyor.
    while($row = mysqli_fetch_array($sqls))
        {
        if ($row['att_img']==1)
    {$resimler .= "<img style=\"padding:2px; text-align:center; width:505px; height:300px;\" class=\"img-fluid\" src=\"".$row['att_path']."\" />";}
        }   // while bitiş
     // while dışı farklı bir sorgudan çektim saçma sapan bir şey oldu
    if ($attx['att_img']==0)
    {$resimler .= "<img style=\"padding:2px; text-align:center; width:505px; height:300px;\" class=\"img-fluid\" src=\"img/bos.png\" />";}
  • 24-08-2022, 20:26:39
    #12
    Şimdi veritabanında var olan verileri ekrana basıyorsunuz. Eğer veri yoksa bos.png yi ekrana basıyorsunuz. Doğru anladım. O zaman olması gereken şey şu:

    <?php
    
    $sqls = mysqli_query("SELECT att_id, att_path, att_img, att_item FROM att_tablo WHERE att_item = '5'  ORDER BY att_id DESC");
    $rows = mysqli_fetch_array($sqls);
    $resimler = "";
    if($rows) {
        foreach($rows as $row) {
            $resimler .= '<img style="padding:2px; width:505px; height:300px;" class="img-fluid" src="'.$row['att_path'].'" />';    
        }
    } else {
        $resimler = '<img style="padding:2px; width:505px; height:300px;" class="img-fluid" src="img/bos.png" />';    
    }
    Yukarıdaki kodda mysqli_fetch_array size eğer veri varsa array döner. Eğer veri yoksa null|false döner. Bu durumda öncelikle if kontrolüne sokarak veritabanında veri var mı ona bakmanız gerekiyor. Ardından eğer veri varsa foreach (veya while), yoksa bos.png yi ekrana basmanız gerekiyor. If else mantığını bildiğinize eminim, sadece yanlış yere konumlandırıyorsunuz.
  • 25-08-2022, 11:35:00
    #13
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Şimdi veritabanında var olan verileri ekrana basıyorsunuz. Eğer veri yoksa bos.png yi ekrana basıyorsunuz. Doğru anladım. O zaman olması gereken şey şu:

    <?php
    
    $sqls = mysqli_query("SELECT att_id, att_path, att_img, att_item FROM att_tablo WHERE att_item = '5'  ORDER BY att_id DESC");
    $rows = mysqli_fetch_array($sqls);
    $resimler = "";
    if($rows) {
        foreach($rows as $row) {
            $resimler .= '<img style="padding:2px; width:505px; height:300px;" class="img-fluid" src="'.$row['att_path'].'" />';    
        }
    } else {
        $resimler = '<img style="padding:2px; width:505px; height:300px;" class="img-fluid" src="img/bos.png" />';    
    }
    Yukarıdaki kodda mysqli_fetch_array size eğer veri varsa array döner. Eğer veri yoksa null|false döner. Bu durumda öncelikle if kontrolüne sokarak veritabanında veri var mı ona bakmanız gerekiyor. Ardından eğer veri varsa foreach (veya while), yoksa bos.png yi ekrana basmanız gerekiyor. If else mantığını bildiğinize eminim, sadece yanlış yere konumlandırıyorsunuz.
    Yine çalışmadı ama önemli değil benim yaptığım şekilde çalışıyor.
    İşimi görsün yeterli gerisi önemli değil.
    Kolaylıklar diliyorum işinizde.