• 27-07-2018, 13:38:49
    #1
    Arkadaşlar merhaba Veritabanında;

    hizmet adlı stunda virgüllü bir şekilde "1, 2, 3, 4, 5, 582, 132" verileri bulunuyor

    Ben hizmet tablosuna bak 2 numarası geçen verileri getir demek istiyorum.

    LIKE '%2%' ile yaptığım zaman 582 ve 132 geçen verileride getiriyor doğal olarak sadece 2 için nasıl bir sorgu yapmam gerekli
  • 27-07-2018, 13:56:32
    #3
    % işareti herhangi bir karakter demek. başa ve sona % koyarsanız başında sonunda ne olurda olsun içinde 2 geçeni getirir.
    like '2,' (virgül koyduk) yaparak günü kuryarabilirsiniz. fakat daha uygunu (mysql kullandıgınızı varsayarsak) find_in_set fonksiyonudur.
    şu linl yardımcı olur: https://dev.mysql.com/doc/refman/8.0...on_find-in-set
  • 27-07-2018, 13:57:01
    #4
    antijen adlı üyeden alıntı: mesajı görüntüle
    hocam pek anlayamadım inceledim ama

    şuan ki sorgum bu ;

    $kategori= $row["kategori"];
    SELECT * from firmalar WHERE hizmet LIKE '%$kategori%' ORDER BY puan DESC LIMIT 5
  • 27-07-2018, 14:27:03
    #5
    SELECT * FROM `TABLOADI` WHERE FIND_IN_SET('2',  LISTE)
    LISTE kısmını, 2 numarasını karşılaştırmak istediğiniz sütun adını yazın.
  • 27-07-2018, 14:45:05
    #6
    BatuhaNN adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM `TABLOADI` WHERE FIND_IN_SET('2',  LISTE)
    LISTE kısmını, 2 numarasını karşılaştırmak istediğiniz sütun adını yazın.
    "SELECT * from firmalar WHERE FIND_IN_SET( '$kategori', hizmet) ORDER BY puan DESC LIMIT 5 "
    Bu şekilde yapıyorum herhangi bir sonuç çıkartmıyor
  • 27-07-2018, 14:49:44
    #7
    ErGk adlı üyeden alıntı: mesajı görüntüle
    "SELECT * from firmalar WHERE FIND_IN_SET( '$kategori', hizmet) ORDER BY puan DESC LIMIT 5 "
    Bu şekilde yapıyorum herhangi bir sonuç çıkartmıyor
    $kategori değişkenini dumplayıp atar mısınız?
  • 27-07-2018, 14:55:10
    #8
    BatuhaNN adlı üyeden alıntı: mesajı görüntüle
    $kategori değişkenini dumplayıp atar mısınız?
    Hizmet Stunu : http://prntscr.com/kbpxjd

    $kategori değişkeni ise başka bir tablodan veri çekiyor

    http://prntscr.com/kbpyeg


    sorun boşluklardan algılamıyor başınıza gelirse boşlukları silerek deneyin arkadaşlar
  • 27-07-2018, 18:17:18
    #9
    $aranan="2";
    $sql="select * from fmd_tablo where
    hizmet like '$aranan'   or
    hizmet like '$aranan,%'   or
    hizmet like '%, $aranan,%'   or
    hizmet like '%, $aranan'  
    ";
    mysql_query($sql);
    ilk like sadece 2 varsa
    ikinci like 2 başta ve başka hizmetler varsa
    üçüncü like 2 ortada ise
    dördüncü like ise 2 nin en sonra olduğu koşulda ise listeler

    aramalarda mutlaka , ve boşlukda olmalı