PHP ile databaseden birden fazla kelime için search yaptırmak istiyorum bu konuda yardımcı olabilecekmisiniz?
Arkadaşım yapacağın aramaya göre değişir örneğin sütun tek kelimelik ise mesela sütun ismi Sehir ve veriler Ankara, İzmir, İstanbul,gibi ise:
$sorgu="select * from vertabani where sehir='Ankara' or sehir='İstanbul' ";
sorgusu sana hem Ankara hem de İstanbul olanları getirir.
$sorgu="select * from vertabani where sehir like 'A%' ";
sorgusu ise A ile başlayanları getirir.
benim yapmak istedigi şu örnegin : arama kısmına iki kelimegirdim(daha fazla kelime de olabilir) bu kelimeler databasedeki tek bir tablo olup olmadıkları kontrol edilecek..
örnegin girilen kelimeler :ankara izmir databasedeki kolonun içerigi eger şöyleyse bana veri döndürmesini istiyorum :adana,ankara,istanbul,izmir gibi yani bi text area var veorada anahtar kelimeler
şöyle birşey işine yarar mı:
girilen kelimeleri ' ' (boşluk) karakterine göre ayıklayıp bir array'a atıcaksın. sonra array'deki eleman sayısı kadar dönecek bir döngü oluşturup, her dönüşünde querystring'ine "AND sehir LIKE '%arrayElemani%'" ekleyeceksin...
$querystring = "SELECT * FROM veritabani WHERE "; for($i=0; $i<$array.length(); $i++){ if($i!=0) $querystring = $querystring." AND "; $querystring = $querystring." sehir LIKE '%$array[$i]%'"; }
bunun gibi birşey olması lazım...
yardımların için teşekkürler un.real verdigin kod işe yaradı..
$sql = "SELECT * FROM sitesearch WHERE "; for($i=0; $i<$ct; $i++){ if($i!=0){ $sql = $sql." AND "; } $sql = $sql." keywords LIKE '%$searched[$i]%'"; }
mysql search nasıl yapabilirim ben . ? yalnız tüm database de arama yapmasını istiyorum. elinizde örnekler varsa yardımcı olursanız sevinirim. iyi çalışmalar.
valla MsSQL desen, bi stored procedure yazarak olayı gerçekleştirirdin ama ... sana iki soru: *mysql stored procedure yazdırıyor mu? *database'deki tablo isimlerine ulaşabilmek için mysql'de nasıl bir query yazmak lazım? (mssql'de sysobjects tablosundan alabiliyoruz mesela)