• 21-03-2015, 21:59:57
    #10
    ylv
    Üyeliği durduruldu
    il_adi,ilce_adi,semt_ad,mahalle_adi sütunlarına index ekleyin.

    aynı şehirde yaşasak şunu yazmak için çay ısmarlatırdım.

    SELECT SQL_CACHE CONCAT('ilId=',il.id,'&ilceId=0&semtId=0&mahalleId =0') AS s1, il.il_adi AS s2 FROM il WHERE il.il_adi LIKE 'beyoğlu%' LIMIT 2
    UNION
    SELECT CONCAT('ilId=',il.id,'&ilceId=',ilce.id,'&semtId=0 &mahalleId=0') AS s1, CONCAT_WS(', ',il.il_adi,ilce.ilce_adi) AS s2 FROM ilce INNER JOIN il ON ilce.il_id = il.id WHERE ilce.ilce_adi LIKE 'beyoğlu%' LIMIT 3
    UNION
    SELECT CONCAT('ilId=',il.id,'&ilceId=',ilce.id,'&semtId=' ,semt.id,'&mahalleId=0') AS s1, CONCAT_WS(', ',il.il_adi,ilce.ilce_adi,semt.semt_adi) AS s2 FROM semt INNER JOIN ilce ON ilce.id = semt.ilce_id INNER JOIN il ON il.id = semt.il_id WHERE semt.semt_adi LIKE 'beyoğlu%' LIMIT 3
    UNION
    SELECT CONCAT('ilId=',il.id,'&ilceId=',ilce.id,'&semtId=' ,semt.id,'&mahalleId=',mahalle.id) AS s1, CONCAT_WS(', ',il.il_adi,ilce.ilce_adi,semt.semt_adi,mahalle.ma halle_adi) AS s2 FROM mahalle INNER JOIN semt ON mahalle.semt_id=semt.id INNER JOIN ilce ON ilce.id = semt.ilce_id INNER JOIN il ON il.id = ilce.il_id WHERE mahalle.mahalle_adi LIKE 'beyoğlu%' LIMIT 10
    Showing rows 0 - 4 ( 5 total, Query took 0.0022 sec)
    s1 s2
    ilId=34&ilceId=419&semtId=0&mahalleId=0 İstanbul, Beyoğlu
    ilId=46&ilceId=640&semtId=2915&mahalleId=0 Kahramanmaraş, Türkoğlu, Beyoğlu
    ilId=55&ilceId=733&semtId=3318&mahalleId=37362 Samsun, Tekkeköy, Köyler, Beyoğlu Köyü
    ilId=59&ilceId=788&semtId=3486&mahalleId=41023 Tekirdağ, Şarköy, Köyler, Beyoğlu Köyü
    ilId=76&ilceId=927&semtId=4024&mahalleId=49568 Iğdır, Tuzluca, Gaziler, Beyoğlu Köyü

    ---

    union birleştirme sorgularına özel SQL_CACHE gibi bir özellik gireceksen ilk sorguya gireceksin. diğerleri otomatik olarak etkilenirler.

    limit olayında en son sorguda ki limit toplam limittir.

    ben 10 verdim, bu mahallenin limiti değildir. mahallenin limiti 10-2-3-3 = 2 dir.

    ayrıca il için sonuç olmadığında limit sondaki kaydırılır. mahalle limiti 4 olur gibi.

    sorguyu elimle yazdım birleştirmeleri kontrol edin tekrar.

    iyi çalışmalar
  • 21-03-2015, 22:26:52
    #11
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Esca adlı üyeden alıntı: mesajı görüntüle
    İlk seferde çalışmamıştı ben autocomplete diye tahmin ettim. 1 karakter yazınca filtreleme yapıyor ancak sonrasında ne varsa silip süpürüyor. Teşekkürler.



    En son linkte tabloyu direk link olarak verdim.



    incelemedeyim. Teşekkürler.



    Tabloları linkten indirebilirsiniz. Dosya
    verdiğiniz veritabanini göz önünde bulundurursak mahalle adi, semt bunlar büyük harflerle slug burada işimizi pek görmüyor eğer düzgün olmuş olsaydı görürdü bu durumda böyle bi yol izliyebiliriz ;
    bize gelen veri örnek veriyorum karasoku mah. kullanıcı bunu girdiğinde benim gibi küçük girmiş oluyor veya fark etmiyor KaRaSoKu böylede girebilir sorun değil ben bu gelen veriyi mysql'de LIKE '%KaRa%' şeklinde aratırsam eğer gelen sonuç böyle bir sonuçla karşılaşırım artık gerisi semt_id ,ilce_id,il_id ile illeri ve diğer detayları çekmeme yarar bunu jquery ilede güzel bir live search yaparsın onuda özetliyim sana ;

    input içerisine girilen değer var ise ajax isteğini başlat girilen input değerini mysql'de arat değer varsa gelen değeri il içe semt olarak yansıt yoksa yok diye uyarı var mantığa uyan en iyi şekilde böyle umarım işinizi görür bu fikir
  • 22-03-2015, 00:26:18
    #12
    Üyeliği durduruldu
    ylv adlı üyeden alıntı: mesajı görüntüle
    il_adi,ilce_adi,semt_ad,mahalle_adi sütunlarına index ekleyin.

    aynı şehirde yaşasak şunu yazmak için çay ısmarlatırdım.

    SELECT SQL_CACHE CONCAT('ilId=',il.id,'&ilceId=0&semtId=0&mahalleId =0') AS s1, il.il_adi AS s2 FROM il WHERE il.il_adi LIKE 'beyoğlu%' LIMIT 2
    UNION
    SELECT CONCAT('ilId=',il.id,'&ilceId=',ilce.id,'&semtId=0 &mahalleId=0') AS s1, CONCAT_WS(', ',il.il_adi,ilce.ilce_adi) AS s2 FROM ilce INNER JOIN il ON ilce.il_id = il.id WHERE ilce.ilce_adi LIKE 'beyoğlu%' LIMIT 3
    UNION
    SELECT CONCAT('ilId=',il.id,'&ilceId=',ilce.id,'&semtId=' ,semt.id,'&mahalleId=0') AS s1, CONCAT_WS(', ',il.il_adi,ilce.ilce_adi,semt.semt_adi) AS s2 FROM semt INNER JOIN ilce ON ilce.id = semt.ilce_id INNER JOIN il ON il.id = semt.il_id WHERE semt.semt_adi LIKE 'beyoğlu%' LIMIT 3
    UNION
    SELECT CONCAT('ilId=',il.id,'&ilceId=',ilce.id,'&semtId=' ,semt.id,'&mahalleId=',mahalle.id) AS s1, CONCAT_WS(', ',il.il_adi,ilce.ilce_adi,semt.semt_adi,mahalle.ma halle_adi) AS s2 FROM mahalle INNER JOIN semt ON mahalle.semt_id=semt.id INNER JOIN ilce ON ilce.id = semt.ilce_id INNER JOIN il ON il.id = ilce.il_id WHERE mahalle.mahalle_adi LIKE 'beyoğlu%' LIMIT 10
    Showing rows 0 - 4 ( 5 total, Query took 0.0022 sec)
    s1 s2
    ilId=34&ilceId=419&semtId=0&mahalleId=0 İstanbul, Beyoğlu
    ilId=46&ilceId=640&semtId=2915&mahalleId=0 Kahramanmaraş, Türkoğlu, Beyoğlu
    ilId=55&ilceId=733&semtId=3318&mahalleId=37362 Samsun, Tekkeköy, Köyler, Beyoğlu Köyü
    ilId=59&ilceId=788&semtId=3486&mahalleId=41023 Tekirdağ, Şarköy, Köyler, Beyoğlu Köyü
    ilId=76&ilceId=927&semtId=4024&mahalleId=49568 Iğdır, Tuzluca, Gaziler, Beyoğlu Köyü

    ---

    union birleştirme sorgularına özel SQL_CACHE gibi bir özellik gireceksen ilk sorguya gireceksin. diğerleri otomatik olarak etkilenirler.

    limit olayında en son sorguda ki limit toplam limittir.

    ben 10 verdim, bu mahallenin limiti değildir. mahallenin limiti 10-2-3-3 = 2 dir.

    ayrıca il için sonuç olmadığında limit sondaki kaydırılır. mahalle limiti 4 olur gibi.

    sorguyu elimle yazdım birleştirmeleri kontrol edin tekrar.

    iyi çalışmalar
    Hocam semaver sana kurban olsun
    Şimdi bu verdiğin sorguyu inceleyip kurcalayacağım


    DNSZ adlı üyeden alıntı: mesajı görüntüle
    Verdiğim kod sadece description yani açıklama kısmını arıyor. Başlıktaki bir kelime yerine açıklamadaki bir kelimeyi yazarsan sonuna kadar tamamlayacaktır.

    Eğer başlıktakini yazmak istiyorsan aşağıdaki kod ile oyna

    <input type="search" ng-model="kayseri.description" placeholder="Kayseri">

    Kod satırlarını incelersen az çok anlarsın mantığını
    Hocam angular.js incelemişliğim var. Ancak aradığım üst satırdaki gibi birşeydi yani tamamen php yada mysql ile işlem yapacak bir yapı. Teşekkür ederim.