• 07-03-2014, 15:04:16
    #1
    Arkadaşlar merhaba ,

    elimde bu şekilde gördüğünüz gibi $exp değişkeni içerisinde veriler var https://i.hizliresim.com/ekzBjy.png

    hepsini array ile alıyorum.

    Benim bunları daha doğrusu array içerisinde ki tüm kriterleri sorguda LIKE ile benzeri geçenleri getirmem gerekiyor ?

    Örnek veriyorum ilk anahtar mutfak değil mi ; veritabanında patent tablosunda patent_basligi kısmında mutfak diye bir yazı geçiyorsa bana o veriyi getir gibisinden birşey yapmam lazım.
  • 07-03-2014, 15:11:55
    #2
    Üyeliği durduruldu
    BR9 adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar merhaba ,

    elimde bu şekilde gördüğünüz gibi $exp değişkeni içerisinde veriler var https://i.hizliresim.com/ekzBjy.png

    hepsini array ile alıyorum.

    Benim bunları daha doğrusu array içerisinde ki tüm kriterleri sorguda LIKE ile benzeri geçenleri getirmem gerekiyor ?

    Örnek veriyorum ilk anahtar mutfak değil mi ; veritabanında patent tablosunda patent_basligi kısmında mutfak diye bir yazı geçiyorsa bana o veriyi getir gibisinden birşey yapmam lazım.

    $search="aranacak kelime";
    $result = mysql_query("SELECT * FROM patent WHERE patent_basligi LIKE '%$search%'");
    $bulunan=0;
    while($r=mysql_fetch_array($result))
    {     
       $bulunan++;
       echo $r['patent_basligi'];
    }
    
    if ($bulunan==0){
    echo "bulunamadı";
    }
    else {
    echo $bulunan." kelimesi bulundu";
    }
    bi denermisiniz.
  • 07-03-2014, 15:14:54
    #3
    caxe adlı üyeden alıntı: mesajı görüntüle
    $search="aranacak kelime";
    $result = mysql_query("SELECT * FROM patent WHERE patent_basligi LIKE '%$search%'");
    $bulunan=0;
    while($r=mysql_fetch_array($result))
    {     
       $bulunan++;
       $makale=$r["makale"];
       $id=$r["id"];
       $url=$r["url"];
       //yazdırıyorum.
       echo "$id -> $makale      ";
         echo "<a href=".$url.">".$url."</a><br>";
    }
    
    if ($bulunan==0){
    echo "bulunamadı";
    }
    else {
    echo $bulunan." kelimesi bulundu";
    }
    Hocam normal şartlarda evet bu şekilde yaptım zaten demek istediğim şuydu doğru yaptınız fakat.

    $search = "oyuncak"; // Aranacak kelime bölümü normal şartlarda bu şekilde yaparsak gidecek LIKE ile oyuncak geçenleri bulunca getirecek.

    Fakat benim şöyle birşey yapmam gerekiyor elimde bir array var ve içerisinde 80 tane veri var: oyuncak,araba,kamera vs vs benim bir anda bunların hepsine baktırtmam lazım kısacası

    $search  =  "oyuncak,araba,kamera,yogurt";
    
    $result = mysql_query("SELECT * FROM patent WHERE patent_basligi LIKE '%$search%'");
    bu şekilde aratıp bana oyuncak veya araba veya kamera geçenleri getirmeli
  • 07-03-2014, 15:18:27
    #4
    Üyeliği durduruldu
    $search  =  "oyuncak|araba|kamera|yogurt";
    
    $result = mysql_query("SELECT * FROM patent WHERE patent_basligi REGEXP '%$search%'");

    REGEXP ile yapalım ozaman aranacak kelimelerin arasına | koyarsınız
  • 07-03-2014, 15:20:07
    #5
    caxe adlı üyeden alıntı: mesajı görüntüle
    $search  =  "oyuncak|araba|kamera|yogurt";
    
    $result = mysql_query("SELECT * FROM patent WHERE patent_basligi REGEXP '%$search%'");

    REGEXP ile yapalım ozaman aranacak kelimelerin arasına | koyarsınız
    Normal şartlarda kelimelerin arasında virgül var hocam. Benim yapmak istediğim LIKE ile tek bir kelime değil çoklu kelime aramak oyuncak,kamera burada bu şekilde gidiyorsa oyuncak ve kamera geçenleri getir gibisinden.
  • 07-03-2014, 15:21:10
    #6
    Üyeliği durduruldu
    BR9 adlı üyeden alıntı: mesajı görüntüle
    Normal şartlarda kelimelerin arasında virgül var hocam. Benim yapmak istediğim LIKE ile tek bir kelime değil çoklu kelime aramak oyuncak,kamera burada bu şekilde gidiyorsa oyuncak ve kamera geçenleri getir gibisinden.
    virgulle deneyin bi siz
  • 07-03-2014, 15:26:55
    #7
    caxe adlı üyeden alıntı: mesajı görüntüle
    virgulle deneyin bi siz
    Malesef hocam olmadı
  • 07-03-2014, 15:30:34
    #8
    Üyeliği durduruldu
    BR9 adlı üyeden alıntı: mesajı görüntüle
    Malesef hocam olmadı
    şunları deneyin.
  • 07-03-2014, 15:46:27
    #9
    Misafir
    Anladığım gibiyse, bu işini görmesi lazım hocam.

    $temp	=	array();
    foreach($senin_array as $data)
    {
    	$temp[]	= "patent_basligi LIKE '%".$data."%'";
    }
    $sorgu_ek	= implode(" and ",$temp); 
    if(!empty($sorgu_ek))
    	$sorgu_ek	=	"WHERE ".$sorgu_ek;
    $sorgu	=	mysql_query("select * from patent ".$sorgu_ek);
    while($data=mysql_fetch_array($sorgu))
    {
    // ne yapmak istersen 
    }