Mysql Türkçe karaktere takılmadan arama
17
●194
- 10-10-2023, 10:42:16aslında mantığını anlayamadım hocamphpc adlı üyeden alıntı: mesajı görüntüle
kaynak kodum şu şekilde benim sorun yaşadığım alan sadece zimmet tablosu
$SqlCh = "SELECT lower(zimmet),kategori,marka,model,tip,durum,zimmet,sn,dv,demirbas,ID FROM cihazlar WHERE lokasyon LIKE '%".@$_POST['lokasyon']."%' and kategori LIKE '%".@$MySql->GetCategory($_POST['selectkate'])."%' and marka LIKE '%".@$MySql->GetMarka($_POST['selectmarka'])."%' and model LIKE '%".@$MySql->GetModel($_POST['selectmodel'])."%' and tip LIKE '%".@$MySql->GetTip($_POST['selecttip'])."%' and durum LIKE '%".@$EnvStatus[$_POST['selectdurum']]."%' and zimmet LIKE '%".@$_POST ['zimmet']."%' and sn LIKE '%".@$SeriNo."%' and dv LIKE '%".@$_POST['dv']."%' and demirbas LIKE '%".@$EnvDemir[$_POST['demirbas']]."%' "; - 10-10-2023, 10:46:22lower(zimmet)'i zimmet yapıp deneyin. 2. zimmeti de silin. Yine olmazsa post ile gelen veriyi sorgu üstüne yazdırıp kaynak koduna bakın. Garip karakterler var mı diye. Eğer yoksa mysql için soundex metaphone gerekebilir.FATIH_999 adlı üyeden alıntı: mesajı görüntüle
- 10-10-2023, 11:03:23asıl kodda yok hocam şimdi fark ettim eski kod doğrusu alttaki metaphone u mysql üzerinde uygulayabilirmiyiz sorgu yaparkenphpc adlı üyeden alıntı: mesajı görüntüle
$SqlCh = "SELECT * FROM cihazlar WHERE lokasyon LIKE '%".@$_POST['lokasyon']."%' and kategori LIKE '%".@$MySql->GetCategory($_POST['selectkate'])."%' and marka LIKE '%".@$MySql->GetMarka($_POST['selectmarka'])."%' and model LIKE '%".@$MySql->GetModel($_POST['selectmodel'])."%' and tip LIKE '%".@$MySql->GetTip($_POST['selecttip'])."%' and durum LIKE '%".@$EnvStatus[$_POST['selectdurum']]."%' and zimmet LIKE '%".@$_POST ['zimmet']."%' and sn LIKE '%".@$SeriNo."%' and dv LIKE '%".@$_POST['dv']."%' and demirbas LIKE '%".@$EnvDemir[$_POST['demirbas']]."%' ";
- 10-10-2023, 11:06:13Şunu açıkça yazmamışsınız:FATIH_999 adlı üyeden alıntı: mesajı görüntüle
post edilen veri Ayşe'dir. Mysql veritabanında Ayşe olarak kayıtlı bir zimmet kaydı mevcuttur. LIKE ile bu filtreleme yapılamamaktadır.
Sorunu tam anlatırsanız nokta atışı yapabiliriz. - 10-10-2023, 11:19:54şöyle hocamphpc adlı üyeden alıntı: mesajı görüntüle
Post edilen veri FATİH mysql üzerinde zimmet tablosundaki kayıt FATIH şeklinde bu şekilde veri gelmiyor
eğer post edilen veri FATIH olursa zimmet tablosundaki kayıt FATİH olan veri gelmiyor.
yapılmak istenen FATIH te yazılsa FATİH de yazılsa 2 verinin de gelmesi - 10-10-2023, 11:29:23Baştan böyle izah etseydin bu kadar uğraşmazdık:FATIH_999 adlı üyeden alıntı: mesajı görüntüle
$s1= array('Ç','ç','Ğ','ğ','ı','İ','Ö','ö','Ş','ş','Ü','ü',' '); $s2= array('c','c','g','g','i','i','o','o','s','s','u','u','-'); $postzimmet1= str_replace($s1,$s2,trim($_POST['zimmet'])); $postzimmet2=trim($_POST['zimmet']) ;daha sonra sorguda;
and ( (zimmet like '%postzimmet1%') or (zimmet like '%postzimmet2%') )
çalakalem yazdım. Yanlış yazmadıysam böyle çalışır. - 10-10-2023, 11:43:33teşekkürler hocam ilginçtir s2 değişkenindeki i İ olan yeri ı I yapınca sorun çözüldü Allah razı olsunphpc adlı üyeden alıntı: mesajı görüntüle