• 19-03-2014, 21:18:42
    #10
    Veriler post ile alındığı için formdan gelen post miktarı aynı olacaktır, gelen içerik değişebilir bu durumda ne sizin nede benim verdiğim çalışmayacaktır. Formda girilmesi gereken alan boş bırakılırsa yine ikimizde çuvallamış oluruz. Ne kadar cevap okadar bilgi, bir işin birden çok yolu vardır yazılımın en sevdiğim yönlerinden biride budur.
    Forumda cevap verdiğim sorularda genellikle ihtiyaca doğrudan karşılık gelen en kısa yolu göstermeye gayret ediyorum. Doğru yanıt içi doğru soru sorulmalı.

    $arraylar = Array(0 => '06,', 1 => '32,', 2 => '07,', 3 => '');
  • 20-03-2014, 06:50:23
    #11
    Met adlı üyeden alıntı: mesajı görüntüle
    Veriler post ile alındığı için formdan gelen post miktarı aynı olacaktır, gelen içerik değişebilir bu durumda ne sizin nede benim verdiğim çalışmayacaktır. Formda girilmesi gereken alan boş bırakılırsa yine ikimizde çuvallamış oluruz. Ne kadar cevap okadar bilgi, bir işin birden çok yolu vardır yazılımın en sevdiğim yönlerinden biride budur.
    Forumda cevap verdiğim sorularda genellikle ihtiyaca doğrudan karşılık gelen en kısa yolu göstermeye gayret ediyorum. Doğru yanıt içi doğru soru sorulmalı.

    $arraylar = Array(0 => '06,', 1 => '32,', 2 => '07,', 3 => '');
    Atladığınız tek nokta arraya gelen veriler kod adında (textbox olduğunu düşünüyorum) bir form elementinden geliyor ve "," lerden parçalanıp array'a aktarılıyor bir nevi etiket mantığı aslında yani. Örneğin;

    kod textboxuna: elma, armut, çilek, ayva, erik
    yazılıp post edilirse
    array: Array(0 => 'elma,', 1 => 'armut,', 2 => 'çilek,', 3 => 'ayva', 4 => 'erik');
    bu şekilde olacak ama
    kod textboxuna: elma, armut, çilek
    yazılıp post edilirse
    array: Array(0 => 'elma,', 1 => 'armut,', 2 => 'çilek,');
    olacak yani miktar aynı olmayacak.

    Ayrıca boş olduğunda çuvallama gibi bir olay yok empty fonksiyonu ile kontrol edilmiş array boş olduğu zaman o kod blogunu çalıştırıp sql kodlarına siniflar LIKE %% eklemesi yapmamış.
  • 20-03-2014, 08:20:59
    #12
    BR9 adlı üyeden alıntı: mesajı görüntüle
    Buyurun hocam ;

    Eğer yanlış anlamadıysam implode ettikten sonra rtrim ile son virgülü temizleyin hepsi bu çok fazla takla attırmanızı gerektirecek bir durum göremedim ben..


    Yani şöyle

    rtrim(implode(' or ',$searchtermbits),',')

    son karakter virgül olursa kırpar olmazsa zaten sorun yok..
  • 20-03-2014, 09:56:38
    #13
    Big_Turk adlı üyeden alıntı: mesajı görüntüle
    Eğer yanlış anlamadıysam implode ettikten sonra rtrim ile son virgülü temizleyin hepsi bu çok fazla takla attırmanızı gerektirecek bir durum göremedim ben..


    Yani şöyle

    rtrim(implode(' or ',$searchtermbits),',')

    son karakter virgül olursa kırpar olmazsa zaten sorun yok..
    Merhabalar ,

    hocam takla attırılacak bir durum burada oluyor malesef dediğiniz şeyi denedim tabikide lakin bu şekilde yaparsak şöyle bir sorun ile karşılaşıyoruz.

    rtrim(); kullanırsak eğer en sonda ki array'de bulunan virgülü değilde her arrayin sonunda ki virgülü kaldıracak sonuçta rtrim array 1 => , 2 => diye görmüyor. Farkettiyseniz orada bir foreach döngüsü var buda demek oluyor ki rtrim kullanırsak şu şekilde olacak

    Orjinali ;

    1 => " ilkvürgül, " ,
    2 => " ikincivirgül, "

    rtrim kullanılmış hali

    1 => " ilkvürgül " ,
    2 => " ikincivirgül "
  • 20-03-2014, 10:09:29
    #14
    BR9 adlı üyeden alıntı: mesajı görüntüle
    Merhabalar ,

    hocam takla attırılacak bir durum burada oluyor malesef dediğiniz şeyi denedim tabikide lakin bu şekilde yaparsak şöyle bir sorun ile karşılaşıyoruz.

    rtrim(); kullanırsak eğer en sonda ki array'de bulunan virgülü değilde her arrayin sonunda ki virgülü kaldıracak sonuçta rtrim array 1 => , 2 => diye görmüyor. Farkettiyseniz orada bir foreach döngüsü var buda demek oluyor ki rtrim kullanırsak şu şekilde olacak

    Orjinali ;

    1 => " ilkvürgül, " ,
    2 => " ikincivirgül, "

    rtrim kullanılmış hali

    1 => " ilkvürgül " ,
    2 => " ikincivirgül "
    her array'in sonundakini kaldırmaz implode ettiğiniz için sadece değişkenin sonundaki virgülü kaldıracaktır. Benim verdiğim kodda sorguya soktuğunuz kısımda rtrim kullandım farkettiyseniz bu şekilde sorun olmaması lazım..