• 18-09-2007, 13:56:37
    #1
    Üyeliği durduruldu
    Selam sitede arama yaptırıyorum fakat "bu aramayı bul" şeklinde aramalarda site içerisinde "bu aramayı bul" u arıyor. Yani select * forum tablo adı where kelime=kelime gibi.

    Ben bunu bu şekilde aratmak istiyorum bunun için php koda ne yazmam lazım bulamadım bi türlü.

    select * form tablo where ara='bu' or ara='aramayı' or ara='bul' or ..... gibi bir arama yapmaya çalışıyorum şimdiden sağolun.
  • 18-09-2007, 14:09:30
    #2
    Üyeliği durduruldu
    <?php
    
    $var = 'bu aramayı bul';
    $string = explode(' ', $var);
    
    $sql_where = 'WHERE ';
    foreach($string as $str)
    {
        $sql_where .= " OR ara = '$str'";
    }
    $sql_where = preg_replace("/ OR (.*)/i", "\$1", $sql_where); // bu kodu where'den sonra gelen fazladan olan " or " olan yeri silmek için kullandım. bu yüzden burası kafanı karıştırmasın.
    
    $sql = 'SELECT * FROM tablo ' . $sql_where;
    
    echo $sql;
    
    ?>
  • 18-09-2007, 14:33:38
    #3
    Üyeliği durduruldu
    emrag adlı üyeden alıntı: mesajı görüntüle
    <?php
    
    $var = 'bu aramayı bul';
    $string = explode(' ', $var);
    
    $sql_where = 'WHERE ';
    foreach($string as $str)
    {
        $sql_where .= " OR ara = '$str'";
    }
    $sql_where = preg_replace("/ OR (.*)/i", "\$1", $sql_where); // bu kodu where'den sonra gelen fazladan olan " or " olan yeri silmek için kullandım. bu yüzden burası kafanı karıştırmasın.
    
    $sql = 'SELECT * FROM tablo ' . $sql_where;
    
    echo $sql;
    
    ?>
    emrag şu +rep nası veriliyo bide onu anlatırdan rep veriyim çok teşekkür ederim sağolasın. allah razı olsun.