Merhaba Mysql veritabanından yapmak isteediğim bir sorguda
1- gelenveri="mazda-3-avantajli-fiyat"
2- veri tabanında menuadi alanında ki veri ise "Mazda 3 Avantalı Fiyat"
select * FROM menuler where menuadi like '%"& gelenveri&"%'
bunu nasıl eşleştirebilirim.
Şimdiden teşekkürler
Sql Sorgu Desteği
6
●79
- 02-06-2020, 22:41:35karşılaştırdığınız verileri aynı yaparsanız işiniz daha kolay olur. böylece like yerine eşit olanı sorgularsınız sistem daha az yorulur.
- 02-06-2020, 22:43:46Str_replace ile - işaretini boşluğa çevirip like ile çağırabilirsinizemrah24 adlı üyeden alıntı: mesajı görüntüle
- 02-06-2020, 22:47:07haklısınız o kısmı düzeltebilirim ancak veritabanında ki alanı sorgu esasında replace edebilir miyim ?hyPerdarKness adlı üyeden alıntı: mesajı görüntüle
dediğinizi denedim ancak türkçe karakterleri nasıl yapacağız veya ? ! gibi simgelerde başlıklarda oluyoralonesoftware adlı üyeden alıntı: mesajı görüntüle - 02-06-2020, 22:49:29like kullandığınızdatürkçe karakter problemi yaşamazsınız. O yüzden like kullanmalısınız dedim.emrah24 adlı üyeden alıntı: mesajı görüntüle
Str_replace fonksiyonunu array ile kullanıp muhtemel karakterleri değiştirerek standart hale getirebilirsiniz - 02-06-2020, 22:53:10alttaki seflink oluşturma fonksiyonunu işlem sırasında değişken üzerinde kullanırsanız işinizi görür. ancak sistemi fazla yormamak açısından menuad yanına harici bir sütun daha açarak seflink yazılı hallerini de kaydedip, daha sonra eşit sorgusu ile kullanmanız bence daha mantıklı olur.emrah24 adlı üyeden alıntı: mesajı görüntüle
function seflink($url){ $url = trim($url); $find = array('<b>', '</b>'); $url = str_replace ($find, '', $url); $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url); $find = array(' ', '&quot;', '&amp;', '&', '\r\n', '\n', '/', '\\', '+', '<', '>'); $url = str_replace ($find, '-', $url); $find = array('.','..', '...'); $url = str_replace ($find, '', $url); $find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê'); $url = str_replace ($find, 'e', $url); $find = array('í', 'ì', 'î', 'ï', 'I', 'Í', 'Ì', 'Î', 'Ï','İ','ı'); $url = str_replace ($find, 'i', $url); $find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô'); $url = str_replace ($find, 'o', $url); $find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â'); $url = str_replace ($find, 'a', $url); $find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û'); $url = str_replace ($find, 'u', $url); $find = array('ç', 'Ç'); $url = str_replace ($find, 'c', $url); $find = array('ş','Ş'); $url = str_replace ($find, 's', $url); $find = array('ğ','Ğ'); $url = str_replace ($find, 'g', $url); $find = array('?'); $url = str_replace ($find, '', $url); $find = array('/[^A-Za-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/'); $repl = array('', '-', ''); $url = preg_replace ($find, $repl, $url); $url = str_replace ('--', '-', $url); $url = strtolower($url); return $url; } - 02-06-2020, 22:57:30teşekkür ederim değerli bilgiler için sanırım en iyisi sizin dediğiniz baya hız farklı olacaktır veriler artınca like sorgusu çok fazla işe yaramayacaktır sanırımhyPerdarKness adlı üyeden alıntı: mesajı görüntüle