v2.5.2
Giriş yap

SQL birden fazla kelimeyi bağımsız aratmak [ÇÖZÜLDÜ]

pcmemo
809 defa görüntülendi

Merhaba,

 $ara  = $_GET['ara'];
 $parcala = explode("+",$ara);
 
$sorgu=$db->prepare("SELECT * from tbl_urun_stok WHERE Keywords LIKE :ara");
$sorgu->execute(array(':ara' => '%'.$ara.'%'));

Yukarıdaki sorguda arama alanın ayazdığım 2 veya daha fazla kelimeyi (hangi biri veya hangileri varsa) sonuc gösterecek şekilde nasıl düzenlerim.

Bulduğum bir kod örneğinde GET parametresindeki kelimeleri + ayıracı ile parçalayıp kelime sayısınca LIKE 'ın sonuna or (veya and) ile ekliyor. Ama kendi kodlarıma uyarlayamadım.

Saygılar.

Sözüne ettiğim örnek kodların ekran görünütüsü : https://prnt.sc/rw59w0

makifgokce
1495 gün önce
$parcala = explode("+",$ara);
    $sor = "SELECT * from tbl_urun_stok WHERE ";
    for ($i=0; $i < count($parcala)-1 ; $i++) {
        $sor .="Keywords LIKE '%$parcala[$i]%' or ";
    }
    $sor .= "Keywords LIKE '%$parcala[$i]%'";
    echo $sor;

bu şekilde dene