• 16-11-2012, 16:39:17
    #1
    Merhaba herkese like kullanımıyla ilgili yardıma ihtiyacım var bilgisi olan arkadaşlardan rica ediyorum.

    $sorgu1 = mysql_query("select * from users where dtarih='$gelenyasi' and sehri='$gelensehir' and fid='$yaz->uye'");
    yapmak istediğim yukarıdaki kodu Like kullanarak arama yapması bu şekilde yaptığımda formdan gelen kesin değerlere göre arama yapıyor yukarıda değişmemesi gereken tek bölüm fid bölümü oranın olduğu gibi kalması gerekiyor.
  • 16-11-2012, 17:00:24
    #2
    Üyeliği durduruldu
    Gknst adlı üyeden alıntı: mesajı görüntüle
    Merhaba herkese like kullanımıyla ilgili yardıma ihtiyacım var bilgisi olan arkadaşlardan rica ediyorum.

    $sorgu1 = mysql_query("select * from users where dtarih='$gelenyasi' and sehri='$gelensehir' and fid='$yaz->uye'");
    yapmak istediğim yukarıdaki kodu Like kullanarak arama yapması bu şekilde yaptığımda formdan gelen kesin değerlere göre arama yapıyor yukarıda değişmemesi gereken tek bölüm fid bölümü oranın olduğu gibi kalması gerekiyor.
    mysql_query("select * from users where dtarih LIKE '%$gelenyasi%' and fid='$yaz->uye' or sehri LIKE '%$gelensehir%' and fid='$yaz->uye' ");

    sanırsam bunu yapmaya çalışıyorsun
  • 16-11-2012, 17:02:24
    #3
    $sorgu1 = mysql_query("select * from users where dtarih LIKE '%$gelenyasi%' and sehri LIKE '%$gelensehir%' and fid='$yaz->uye'");


    sutün LIKE '%deger' = adeger, bdeger, cdeger
    sutün LIKE 'deger%' = degera, degerb, degerc
    sutün LIKE '%deger%' = adegera, bdegera, cdegerc

    % işareti neredeyse oraya ek gelebilir demektir.
  • 16-11-2012, 17:23:03
    #4
    lap10 adlı üyeden alıntı: mesajı görüntüle
    mysql_query("select * from users where dtarih LIKE '%$gelenyasi%' and fid='$yaz->uye' or sehri LIKE '%$gelensehir%' and fid='$yaz->uye' ");

    sanırsam bunu yapmaya çalışıyorsun

    Yardım için çok teşekkür ediyorum tamda bu yapmak istediğim.
    Fakat birde şöyle bir durum oluştu örnek vermek gerekirse aramada yaşı 21 ve şehri istanbul olan kullanıcıları arattığımda yaşı 21 ve şehri ankara olanlarda listeleniyor bunun önüne nasıl geçebilirim.
  • 16-11-2012, 18:10:19
    #5
    Üyeliği durduruldu
    mysql_query("select * from users where dtarih LIKE '%$gelenyasi%' and fid='$yaz' ->uye' and sehir='$gelensehir or sehri LIKE '%$gelensehir%' and fid='$yaz->uye' and dtarih='$gelenyasi' ");
    olarak düzenlersen sonuca ulaşırsn diye tahmin ediyorum
  • 16-11-2012, 23:41:11
    #6
    Malesef verdiğiniz kod işe yaramadı.
  • 17-11-2012, 02:24:54
    #7
    Üyeliği durduruldu
    başına ve sonuna % koyarsan aradığın kelimeyi field içinde arar
    % işaretini başa koyarsan aradığın kelimeyi önüne ek alabilecek şekilde arar
    % işaretini sona koyarsan aradığın kelimeyi sonuna ek alabilecek şekilde arar
    % işareti koymazsan field da tam karşılığını arar onuda like ile yapma
    where by sehir='istanbul' misal..
  • 17-11-2012, 02:51:58
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Gknst adlı üyeden alıntı: mesajı görüntüle
    Yardım için çok teşekkür ediyorum tamda bu yapmak istediğim.
    Fakat birde şöyle bir durum oluştu örnek vermek gerekirse aramada yaşı 21 ve şehri istanbul olan kullanıcıları arattığımda yaşı 21 ve şehri ankara olanlarda listeleniyor bunun önüne nasıl geçebilirim.
    mysql_query('select * from users where (dtarih LIKE "%'.$gelenyasi.'%" or sehri LIKE "%'.$gelensehir.'%") and fid="'.$yaz->uye.'"');
    Bu şekilde olacak fakat like kullanman yanlış, şehir ve tarih sütunlarını int veya varchar olarak ayarlayıp:

    mysql_query('select * from users where (dtarih="'.$gelenyasi.'" or sehri ="'.$gelensehir.'") and fid="'.$yaz->uye.'"');
    gibi kullanman daha mantıklı ve hızlı olur. Çünkü şehir ya ankara ya istanbul dur ikisi birden olmaz herhalde. Like demek veritabanına yük demektir.