folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Karakter Sayısına Göre Mysql Sonuç ?



Karakter Sayısına Göre Mysql Sonuç ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek

    Veri tabanında bir mail listesi var ve ben info@site.com şeklinde veya i***@site.com gibi arama kriteri girdim ve 13 karakterli olanları getirtmek istiyorum, mantığı nasıl ? Şuan verileri autocomplete ile getiriyorum yazdığım harflere göre.

    Bunu strlen ile mysql sorgu sırasındamı yoksa şuanki kullandığım kodlamada sonuçlar gelirken substr ile mi yapacağım. sonuç geldiğinde strlen ile karakter sayısını alıp substr ile sınırlama denedim olmadı, şu şekilde yaptım.

    $q=$_POST['aranan'];
    
    $sql_res=mysql_query("select * from mailler where mail like '%$q%' order by id LIMIT 100");
    
    while($row=mysql_fetch_array($sql_res))
    
    {
    
    $fname=$row['mail'];
    
    $re_fname='<span style=": #ffff00;"><strong>'.$q.'</strong></span>';
    
    $final_fname = str_ireplace($q, $re_fname, $fname);
    $karaktersayisi=strlen($final_fname);
    
    $mailler= substr($final_fname, - $karaktersayisi);
    
    echo $mailler;
    }

    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    buzukatak
    buzukatak's avatar
    Kayıt Tarihi: 27/Haziran/2010
    Erkek

    Tüm işi sorgu üzerinden yapıp doğrudan dönen tüm kayıtları kullansan yeter.

    Şöyle bir fiddle yaptım, incele : http://www.sqlfiddle.com/#!2/243a1/1


    anlıyorum.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek

    Teşekkürler, çalıştırdım, ben veri geldikten sonra yaptım fakat bu daha iyi oldu, extra kodtan kurtulmuş oldum, peki şöyle bişey yapılabilir mi, ben şuanda aranan mailin sadece yıldızdan önceki ilk harfini alıyorum yıldızdan sonraki harfide alsam nasıl bi aramayla birebir varsa sonuç döndürebilirim, şuanda çalışan mysql komutu aşağıdaki gibi

    $ilkharf=explode('*',$email);
    $sql_res=mysql_query("select * from mailler where mail REGEXP '^".$ilkharf[0]."' And CHAR_LENGTH(mail) = '$sayi' order by id LIMIT 50");


    yani m********i@hotmail.com böyle bir kriter var ve veritabanındada mailadresi@hotmail.com var yani aynı karakter sayısı ve başı m ile başlayıp i ile biten tüm adresler gibi bişey yapılabilir mi.


    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TheMayk
    TheMayk's avatar
    Kayıt Tarihi: 18/Mart/2013
    Erkek

    Sonunda hepsini yapabildim, biraz uğraştırdı, başka problem kalmadı.


    Sperm Gibi Adamlar Var İnsan Olma İhtimalleri Milyonda Bir
Toplam Hit: 1301 Toplam Mesaj: 4