• 19-03-2014, 14:16:53
    #1
    Merhaba arkadaşlar ,

    $arraylar
    isminde bir değişkenim olduğunu var sayalım ve içerisin'de anahtarlarım ve değerleri var.

    print_r($arraylar); diye ekrana vermek istediğimiz'de karşımıza şöyle birşey geliyor.

    Array ( [0] => '06,' [1] => '32,' [2] => '07,' [3] => '08-08,' )

    Benim burada şöyle birşey yapmam gerekiyor. $arraylar içerisinde ki son anahtara ait içeriğin sonunda ki virgülü kaldır ve bana bunu $arraylar olarak kullanmam için tekrardan ver.

    Yani bu işlemi yaptıktan sonra ekrana print_r($arraylar); yazdırınca bu şekilde olmasını istiyorum.

    Array ( [0] => '06,' [1] => '32,' [2] => '07,' [3] => '08-08' )

    Ne şekilde yapılabilir arkadaşlar.
  • 19-03-2014, 15:10:14
    #2
    Yanlış hatırlamıyorsam array_slice veya array_splice fonksiyonlarından birisi işinizi görecektir.
  • 19-03-2014, 15:15:24
    #3
    $arraylar[3] = strstr($arraylar[3], ',', true);
    
    print_r($arraylar);
    
    Array ( [0] => '06,' [1] => '32,' [2] => '07,' [3] => '08-08' )
  • 19-03-2014, 15:31:37
    #4
    Met adlı üyeden alıntı: mesajı görüntüle
    $arraylar[3] = strstr($arraylar[3], ',', true);
    
    print_r($arraylar);
    
    Array ( [0] => '06,' [1] => '32,' [2] => '07,' [3] => '08-08' )
    Hocam normal şartlarda evet oldu lakin sorgunun içerisine $arraylar değişkenini tekrardan koyunca hata veriyor. Fakat print_r ile kullanınca sorun yok virgül kalkmış vaziyette.

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource
  • 19-03-2014, 16:05:35
    #5
    İlk array ile arasında bir fark bulunmuyor daha geniş kod bloğu koyarsanız hatanın nedenine bakabiliriz.
  • 19-03-2014, 16:21:59
    #6
    Met adlı üyeden alıntı: mesajı görüntüle
    İlk array ile arasında bir fark bulunmuyor daha geniş kod bloğu koyarsanız hatanın nedenine bakabiliriz.
    Buyurun hocam ;

  • 19-03-2014, 16:48:11
    #7
    <?php
    $arraylar = Array(0 => '06,', 1 => '32,', 2 => '07,', 3 => '08-08,');
    $arraylar[count($arraylar)-1] = str_replace(",", "", $arraylar[count($arraylar)-1]);
    print_r($arraylar);
    ?>
  • 19-03-2014, 19:32:02
    #8
    Aşağıdaki gibi sorguyu escape edip ekrana yazdırın hata nerede görelim.
    echo $sorgu = "mysql_query(\"Select * from ....\")";
  • 19-03-2014, 20:43:40
    #9
    @Met

    Arkadaş arrayı derleyince herhangi bir sorun görmemiş ama belki sorun şu olabilir. Sizin kodunuz verilen array için doğru fakat arkadaşın verdiği array'a değerler formdan post edilip atanıyor siz sonuncu veriyi 4. olarak kabul ettiniz 3 tane veri var ise siz yeni bir değer atadınız array'a. Yani örneğin Array arkadaşın verdiği gibi olduğunda yani;

    $arraylar = Array(0 => '06,', 1 => '32,', 2 => '07,', 3 => '08-08,');

    olduğunda sql sorgusu;

    SELECT * FROM tasarim_bilgileri_takip WHERE siniflar LIKE %06% or siniflar LIKE %32% or siniflar LIKE %07% or siniflar LIKE %08-08% ORDER BY id ASC

    oldu ama array şu şekilde olursa;

    $arraylar = Array(0 => '06,', 1 => '32,', 2 => '07,');

    ve sizin kod kullanılırsa bu array

    $arraylar = Array(0 => '06,', 1 => '32,', 2 => '07,', 3 => '');

    buna dönüşecek ve sql sorgusu;

    SELECT * FROM tasarim_bilgileri_takip WHERE siniflar LIKE %06% or siniflar LIKE %32% or siniflar LIKE %07% or siniflar LIKE %% ORDER BY id ASC

    böyle olacak bu yüzden hata verecek.