• 27-03-2021, 12:21:35
    #1
    Arkadaşlar Merhaba, Resimde görüldüğü gibi bir arama kısmım var. Yat türünü arattığımda seçeneğin ID sini çekerek yat türlerini getirebiliyorum. Fakat hem yat türü hem sınıf ya da kişi seçtiğimde eşleşen verileri getiremedim. Kullandığım kodlarda bu şekilde. Yanlış bir yol mu izliyorum acaba yardımcı olabilecek arkadaşlar var mı?

                    <?php
                    $ses = $_SESSION['anasayfadil'];
                    $kk = $_GET['id'];
                    $yatbul=$_GET['yatturu'];
                    $sinifbul=$_GET['sinif'];
                    $kisibul=$_GET['kisisayisi'];
                    $urun=$db->prepare("select * from urunler where (yattur LIKE '%$yatbul%' or sinif LIKE '%$sinifbul%' or kisi LIKE '%$kisibul%') and dil=$ses");
                    $urun->execute([':id'=> $_SESSION['anasayfadil']]);
                    while($urunsor=$urun->fetch(PDO::FETCH_ASSOC)) {
                        ?>
  • 27-03-2021, 14:21:41
    #2
    Merhabalar, Kodlarınız çorbaya dönmüş. PDO amacıyla kullanılmamış. LIKE kullanımı yanlış($_GET ile gelen değerlerin integer olduğunu düşünerek).
    Execute ettiğiniz değer sorguda yok.

    Sorgunuzun Türkçesi;
    Ürünler tablosundaki
    "yattur" kolonu içerisindeki verilerde başında ve sonunda ne olduğu önemli değil içerisinde $yatbul geçenleri VEYA
    "sinif" kolonu içerisindeki verilerde başında ve sonunda ne olduğu önemli değil içerisinde $sinifbul geçenleri VEYA
    "kisi" kolonu içerisindeki verilerde başında ve sonunda ne olduğu önemli değil içerisinde $kisibul geçenleri
    birde bunlar dışında 'dil' kolonu içerisinde $_SESSION da tanımlı olan dil'i olanları listele. Bu şekilde düzgün çalışmayacaktır.

    Aşağıdaki gibi toparlamaya çalıştım umarım çalışır.

    $sql="SELECT * FROM urunler WHERE dil=:dil AND yattur=:yattur AND sinif=:sinif AND kisi=:kisi"

    (Ürünler tablosundaki dili bu yatturü x olanları, sinif ı y olanları, kisisi z olanları listele dedik.")

    $veriler=[
    "dil"=>$_SESSION['anasayfadil'],
    "yattur"=> $_GET["yatturu"],
    "sinif"=> $_GET["sinif"],
    "kisi"=> $_GET["kisisayisi"]
    ];

    $urun=$db->prepare($sql);
    $urun->execute($veriler);
    $urun=$urun->fetchAll(PDO::FETCH_ASSOC);
    foreach($urun as $urunbilgi) {

    }