• 14-07-2022, 11:44:08
    #1
    Bir tablom var içinde sinif ve sube alanı bulunuyor. Kayıtlı öğrencilere sınıf ve şubelerine göre video gönderiyorum.

    Örnek olarak sınıfım 12
    şubem F,
    sadece sinif 12 sube F ve diğer 12/hepsi videoları görüntülemek istiyorum.

    $sinif = $_SESSION["sinif"];
    $sube = $_SESSION["sube"];
    
    
    
    $cek = $db->prepare("select * from video where sinif=? and sube=? or sube=? order by id desc");
    $cek->execute(array($sinif,$sube,"hepsi"));

    Yani kısaca yapmak istediğim öğrencinin sınıfına ve şubesine göre video gelmesi, birde ek olarak sınıfına ait tüm şubelere video atılırsa onları görüntülemesi. Sınıfına ait tüm şubelere video atılırsa veritabanında sube kısmı hepsi oluyor.

    SINIF -> sabit
    SUBE -> hem kendi şubesi + "hepsi"

    Üstteki kod çalışıyor ama şöyle bir problemi var, 11/hepsi olursa da 12/F öğrencisine , hepsi geçtiği için 11/hepsi videosunu getiriyor.

    Kodumu nasıl düzenlemeliyim yardımcı olabilir misiniz ?
  • 14-07-2022, 11:56:13
    #2
    İki sorgu ile çekebilirsiniz.

    $cek = $db->prepare("select * from video where sinif='$sinif' and sube='$sube' order by id desc");
    $cek->execute();
    
    $hepsini_cek = $db->prepare("select * from video where sinif='$sinif' and sube='hepsi' order by id desc");
    $hepsini_cek>execute();
  • 14-07-2022, 11:59:52
    #3
    ErayEfe adlı üyeden alıntı: mesajı görüntüle
    İki sorgu ile çekebilirsiniz.

    $cek = $db->prepare("select * from video where sinif='$sinif' and sube='$sube' order by id desc");
    $cek->execute();
    
    $hepsini_cek = $db->prepare("select * from video where sinif='$sinif' and sube='hepsi' order by id desc");
    $hepsini_cek>execute();
    Hocam tek sorguda çekip idlerine göre son eklenenden ilk eklenene göre sıralamam lazım böyle olursa ayrı ayrı kendi içinde yapar.

    sınıfım 12 F olsun
    sınıf : 12
    sube : F ve hepsi içerikli videoları getirip en son idlerine göre sıralamam lazım.
  • 14-07-2022, 12:04:34
    #4
    akosetr adlı üyeden alıntı: mesajı görüntüle
    Bir tablom var içinde sinif ve sube alanı bulunuyor. Kayıtlı öğrencilere sınıf ve şubelerine göre video gönderiyorum.

    Örnek olarak sınıfım 12
    şubem F,
    sadece sinif 12 sube F ve diğer 12/hepsi videoları görüntülemek istiyorum.

    $sinif = $_SESSION["sinif"];
    $sube = $_SESSION["sube"];
    
    
    
    $cek = $db->prepare("select * from video where sinif=? and sube=? or sube=? order by id desc");
    $cek->execute(array($sinif,$sube,"hepsi"));

    Yani kısaca yapmak istediğim öğrencinin sınıfına ve şubesine göre video gelmesi, birde ek olarak sınıfına ait tüm şubelere video atılırsa onları görüntülemesi. Sınıfına ait tüm şubelere video atılırsa veritabanında sube kısmı hepsi oluyor.

    SINIF -> sabit
    SUBE -> hem kendi şubesi + "hepsi"

    Üstteki kod çalışıyor ama şöyle bir problemi var, 11/hepsi olursa da 12/F öğrencisine , hepsi geçtiği için 11/hepsi videosunu getiriyor.

    Kodumu nasıl düzenlemeliyim yardımcı olabilir misiniz ?
    or sube = ? yerine and sube = ? dener misiniz?
  • 14-07-2022, 12:05:50
    #5
    YazilimciBiri adlı üyeden alıntı: mesajı görüntüle
    or sube = ? yerine and sube = ? dener misiniz?
    Denedim hocam o şekilde hiçbir veriyi çekmiyor. 0 veri geliyor.
  • 14-07-2022, 12:12:31
    #6
    akosetr adlı üyeden alıntı: mesajı görüntüle
    Denedim hocam o şekilde hiçbir veriyi çekmiyor. 0 veri geliyor.
    $query = $db->prepare("SELECT * FROM video WHERE sinif = ? AND sube = ? OR sinif = ? AND sube = ?");
    dener misiniz?
  • 14-07-2022, 12:15:11
    #7
    Kendinize göre düzenlersiniz.
    require_once 'config.php';
    $cek= $baglan ->prepare("SELECT * FROM logs WHERE ip_adresi='::1' and (sorgu='birinci' or sorgu='hepsi') order by id desc");
    $cek->execute();
    $veri = $cek->fetchAll(PDO::FETCH_ASSOC);
    echo "<pre>";
    print_r($veri);
    echo "</pre>";
  • 14-07-2022, 12:18:10
    #8
    YazilimciBiri adlı üyeden alıntı: mesajı görüntüle
    $query = $db-&gt;prepare(&quot;SELECT * FROM video WHERE sinif = ? AND sube = ? OR sinif = ? AND sube = ?&quot;);
    dener misiniz?
    ErayEfe adlı üyeden alıntı: mesajı görüntüle
    Kendinize göre düzenlersiniz.
    require_once 'config.php';
    $cek= $baglan -&gt;prepare(&quot;SELECT * FROM logs WHERE ip_adresi='::1' and (sorgu='birinci' or sorgu='hepsi') order by id desc&quot;);
    $cek-&gt;execute();
    $veri = $cek-&gt;fetchAll(PDO::FETCH_ASSOC);
    echo &quot;&lt;pre&gt;&quot;;
    print_r($veri);
    echo &quot;&lt;/pre&gt;&quot;;
    Oldu hocam çok teşekkür ederim şimdi mantıklı geldi.