• 19-01-2021, 10:25:35
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar gününüz güzel olsun,

    Benim derdim var aşağıda for döndürüp dizideki içerikleri alıyorum ancak gelen veri ile veritabanında ki başlıklar eşleşiyorsa işlemi yapma eşleşmiyorsa işleme devam et demem lazım if ile bunu sorguluyorum ama eşleştiremiyorum veritabanına olmasına rağmen yok diyor bunu nasıl çözebilirim?

                           <?php   for($i =0; $i < count($diziurlleri); $i++)
                {?>
    
    
                    <?php
                    $kategoribaglan=baglan($fragmanim[1]);
                    preg_match('@<iframe class="trailer-video" allow="autoplay" src="(.*?)" frameborder="0" allowfullscreen></iframe>@si', $kategoribaglan,$fragmanlar);
    
                 $sorgula=$db->prepare("SELECT * from filmler");
                    $sorgula->execute();
                    $sorgulandi=$sorgula->fetch(PDO::FETCH_ASSOC);              
     if($sorgulandi['film_baslik']==$dizibaslik[$i])
    {
          echo "içerik başlığı eşleştiyse yapma"          
          }else                {                
         echo "içerik başlığı eşleşmediyse burayı çalıştır"       
             }                 ?>
  • 19-01-2021, 10:34:08
    #2
    Üyeliği durduruldu
    fetch() dediğinizde size 1 satır getirir. Veri tabanı sorgusunda SELECT * from filmler WHERE film_baslik = 'xxxxx' şeklinde filtreleme yapmak istiyorsunuz sanırım.
    $sorgula=$db->prepare("SELECT * from filmler");
                    $sorgula->execute();
                    $sorgulandi=$sorgula->fetch(PDO::FETCH_ASSOC);              
     if($sorgulandi['film_baslik']==$dizibaslik[$i])
    {
          echo "içerik başlığı eşleştiyse yapma"          
          }else                {                
         echo "içerik başlığı eşleşmediyse burayı çalıştır"      
             }
    Kısmını şununla değiştirirseniz olur sanırım:
    $sorgula=$db->prepare("SELECT * from filmler WHERE film_baslik = ?");
                    $sorgula->execute([[$dizibaslik[$i]]);
                    $sorgulandi=$sorgula->fetch(PDO::FETCH_ASSOC);              
     if(isset($sorgulandi['film_baslik']))
    {
          echo "içerik başlığı eşleştiyse yapma"          
          }else                {                
         echo "içerik başlığı eşleşmediyse burayı çalıştır"      
             }
  • 19-01-2021, 10:37:11
    #3
    Proffice adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar gününüz güzel olsun,

    Benim derdim var aşağıda for döndürüp dizideki içerikleri alıyorum ancak gelen veri ile veritabanında ki başlıklar eşleşiyorsa işlemi yapma eşleşmiyorsa işleme devam et demem lazım if ile bunu sorguluyorum ama eşleştiremiyorum veritabanına olmasına rağmen yok diyor bunu nasıl çözebilirim?

                           <?php   for($i =0; $i < count($diziurlleri); $i++)
                {?>
    
    
                    <?php
                    $kategoribaglan=baglan($fragmanim[1]);
                    preg_match('@<iframe class="trailer-video" allow="autoplay" src="(.*?)" frameborder="0" allowfullscreen></iframe>@si', $kategoribaglan,$fragmanlar);
    
                 $sorgula=$db->prepare("SELECT * from filmler");
                    $sorgula->execute();
                    $sorgulandi=$sorgula->fetch(PDO::FETCH_ASSOC);              
     if($sorgulandi['film_baslik']==$dizibaslik[$i])
    {
          echo "içerik başlığı eşleştiyse yapma"          
          }else                {                
         echo "içerik başlığı eşleşmediyse burayı çalıştır"      
             }                 ?>
    $a="test film başlığı";
        
        if(strstr($a,"test film başlığı")){
            echo "bulundu <br />";
        }else{
            echo "bulunmadı <br />";
        }
  • 19-01-2021, 10:37:42
    #4
    Üyeliği durduruldu
    awoken adlı üyeden alıntı: mesajı görüntüle
    fetch() dediğinizde size 1 satır getirir. Veri tabanı sorgusunda SELECT * from filmler WHERE film_baslik = 'xxxxx' şeklinde filtreleme yapmak istiyorsunuz sanırım.
    $sorgula=$db->prepare("SELECT * from filmler");
                    $sorgula->execute();
                    $sorgulandi=$sorgula->fetch(PDO::FETCH_ASSOC);              
     if($sorgulandi['film_baslik']==$dizibaslik[$i])
    {
          echo "içerik başlığı eşleştiyse yapma"          
          }else                {                
         echo "içerik başlığı eşleşmediyse burayı çalıştır"      
             }
    Kısmını şununla değiştirirseniz olur sanırım:
    $sorgula=$db->prepare("SELECT * from filmler WHERE film_baslik = ?");
                    $sorgula->execute([$dizibaslik[$i]]);
                    $sorgulandi=$sorgula->fetch(PDO::FETCH_ASSOC);              
     if(isset($sorgulandi['film_baslik']))
    {
          echo "içerik başlığı eşleştiyse yapma"          
          }else                {                
         echo "içerik başlığı eşleşmediyse burayı çalıştır"      
             }
    bu şekilde hata veriyor hocam string hatası [$dizibaslik[$i] olduğu için olabilir mi ?
  • 21-01-2021, 04:46:00
    #5
    Burada bir yanlış var!
    Neden for döngüsü içerisinde filmler tablosu her defasında dönüyor?

    Proffice adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar gününüz güzel olsun,

    Benim derdim var aşağıda for döndürüp dizideki içerikleri alıyorum ancak gelen veri ile veritabanında ki başlıklar eşleşiyorsa işlemi yapma eşleşmiyorsa işleme devam et demem lazım if ile bunu sorguluyorum ama eşleştiremiyorum veritabanına olmasına rağmen yok diyor bunu nasıl çözebilirim?

                           <?php   for($i =0; $i < count($diziurlleri); $i++)
                {?>
    
    
                    <?php
                    $kategoribaglan=baglan($fragmanim[1]);
                    preg_match('@<iframe class="trailer-video" allow="autoplay" src="(.*?)" frameborder="0" allowfullscreen></iframe>@si', $kategoribaglan,$fragmanlar);
    
                 $sorgula=$db->prepare("SELECT * from filmler");
                    $sorgula->execute();
                    $sorgulandi=$sorgula->fetch(PDO::FETCH_ASSOC);              
     if($sorgulandi['film_baslik']==$dizibaslik[$i])
    {
          echo "içerik başlığı eşleştiyse yapma"          
          }else                {                
         echo "içerik başlığı eşleşmediyse burayı çalıştır"      
             }                 ?>
  • 22-01-2021, 18:22:35
    #6
    Üyeliği durduruldu
    Döngünün dışında tüm içeriklerini diziye at, dizide sorgula.

    for ($i=0; $i < 100;$i++) {
    $bu_varmi = "asd";
    $dizi = array("asd","csy","bce");
    
    if (in_array($bu_varmi, $dizi)) {
    echo $bu_varmi." <- Bu dizide var!";
    } else { echo $bu_varmi." <- Bu dizide yok!"; }
    }
    Örnek olarak verdim, tam olarak neyi sorguladığını anlamadım.
    Umarım yardımcı olur, iyi çalışmalar.