if ( $home_search_mode=="postcode"){
$postcode=substr($city,0,4);
$stmt="SELECT a.*
FROM
{{view_merchant}} a
WHERE
post_code LIKE '%$postcode%'
$and
$sort_combine
";
}
arkadaşlar elimde böyle bir kod var.
postcode ile arama yapıyorum.
ancak postcode'u PE3 olanları aratmak istediğimde PE30'larda geliyor. NR1 arattığımda NR10,NR11,NR12... vs de geliyor. Bunu sanırım
post_code LIKE '%$postcode%'
şu kodu düzenleyerek yapacağım ama bu konuda ufak bir yardım lazım. Yardım edebilecekler konu altına yazarsa çok sevinirim.
Mysql ile arama Hk. ufak bir soru
9
●434
- 02-03-2015, 18:22:02Bu şekilde de denedim hocam. AncakAktifhosting adlı üyeden alıntı: mesajı görüntüle
postcode "PE31 ,PE36" şu şekilde olanları sıralamıyor. - 02-03-2015, 18:24:03Pardon ben sadece aradığınız şeyin gelmesini istediğinizi sandım, tam olarak aramada almak istediğiniz sonuç nedir?emreozalp adlı üyeden alıntı: mesajı görüntüle
- 02-03-2015, 18:26:51postcode'un içinde yazan herhangi birşey arama sonucunda çıksın istiyorum hocam.
Örneğin; PE3 arattıysam sadece PE3 aransın PE30'lar gelmesin.
Ancak bazı postcode'lar şu şekilde "PE30,PE31,PE32" gibi. ve ben PE30 arattığımda bunun da gelmesini istiyorum. Yukarıdaki şekilde yaptığımızda '$postcode' olarak yaptığımızda PE3 kısmı oluyor ancak postcode kısmında birden fazla olanlar çıkmıyor. - 03-03-2015, 11:55:49Bir mysql döngüsü kurup substring_index fonksiyonı ile bu işlemi yapabilirsiniz.
Eğer , ile ayrılmış postcode sayısı belli ise döngüye de gerek yok.
http://sqlfiddle.com/#!2/cf101/1 - 03-03-2015, 15:11:01Üyeliği durdurulduif ( $home_search_mode=="postcode"){
$postcode=substr($city,0,4);
$stmt="SELECT a.*
FROM
{{view_merchant}} a
WHERE
post_code ='$postcode'
$and
$sort_combine
";
}
deneyin Lütfen - 03-03-2015, 21:16:16post_code LIKE '%$postcode%' Burada en sondaki wildcard'ı (%) silip denersen;
post_code LIKE '%$postcode' PE3 olanlar gelir.
------
post_code LIKE '%$postcode%' içerisinde PE3 geçen herşeyi getirir.
Burada daha detaylı açıklamalar bulabilirsin | http://dev.mysql.com/doc/refman/5.6/...functions.html - 04-03-2015, 08:45:56Bu dediğiniz şekilde olursa PE3 diye arandığında PE36 olanları getirmez PE3 olanlar gelir, OK bunda sorun yok.hddntha adlı üyeden alıntı: mesajı görüntüle
Ancak bazı entrylerde PE3,PE12,PE36 gibi entryler var demiş arkadaş.
Bu şekilde yazılırsa tag gibi ayıraçlar ile ayrılanları göstermez.
Yukarıda bahsettiğim gibi sql döngüsü içerisinde substring_index kullanılmalı.