Merhaba explode ile ayırarak oluşturduğum dizi değişkenim var.
Bu değişken idleri içeriyor.
Bu idlerle eşleşen tüm satırları listelemek istiyorum.
for döngüsü kullanarak her seferinde değerleri 1 arttırarak yaptım. Fakat bence hantal oldu.
Dizide 50 değer var diyelim, 50 kere sql sorgusu yapmış oluyor for döngüsü ile.
Yok mu bunun sqle işkence etmeden yapılacak yolu?
Bir dizideki tüm verilere karşılık gelen satırları listelemek
6
●358
- 23-07-2014, 13:18:01Üyeliği durdurulduhocam a, b, c sutunlarından oluşuyor diyelim tablo.Erden35 adlı üyeden alıntı: mesajı görüntüle
Peki hocam buradaki dizi içindeki 2 numaralı id nin etkilediği satırdaki a sütununda bulunan veriyi nasıl listelerim. - 23-07-2014, 15:52:20Üyeliği durdurulduKernek adlı üyeden alıntı: mesajı görüntüle
Hocam nasıl listelerim? Sorguda sıkıntı yok.
etkilenen tüm satır ve sutunlar işime yarayacak.
ama 1. etkilenen satırın a sutununu
veya 3. etkilenen satırın c sutununu nasıl yazarım ekrana asıl soru bu
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 15:52:20 -->-> Daha önceki mesaj 13:59:51 --
Neyse cevabı vereyim. Gene deneye deneye çıkardık.
$idler=array('1','2','3'); $ids = join(',',$idler); $sql = mysql_query("SELECT * FROM TABLO WHERE id IN ($ids)");Öncelikle şu satıra 2 tırnak ve nokta eklemem gerekti:
$sql = mysql_query("SELECT * FROM TABLO WHERE id IN ('.$ids.')");Arkadaşın verdiği bu kodda join yani implode iş görmüyor. Nedenine gelince virgülü en başa da ekliyor yani çıktısı şu şekil:
,1,2,3
Bu durumda while döngüsüne soktuğumuzda çalışmıyor.
$ids = ltrim ($ids, ",");
Bu şekilde 1,2,3 durumuna getiriyoruz baştaki virgülü silip.
Ardından:
<?php while($rowed=mysql_fetch_array($sql)){ echo $rowed['sutunadi']; }; ?>vaziyet eziyet ama çalıştı. - 23-07-2014, 16:36:49$array1 = array(1,2,3,4,5);
$array2 = array(1=>'a', 2=>'b',3=>'c',4=>'a',5=>'b',);
$sorgu = 'WHERE id = ' . implode('OR id = ',$array);
$query = mysql_query("SELECT * FROM tablo $sorgu");
while($veri = mysql_fetch_assoc($query)){
echo $veri[$array2[$veri['id']]];
}
ikinci bir array yaratıp içine id numarasının hangi kolon değerini çağıracağını tutarsın. listelenirken o id değerini anahtar olarak tutan ikinci arraydan kolonu çağırırsın. - 24-07-2014, 01:24:44Kimlik doğrulama veya yönetimden onay bekliyor.kodunuzda hata mevcut, burada düzenlenmiş halini bulabilirsiniz.digiklan adlı üyeden alıntı: mesajı görüntüle
<?php $array_first = [1, 2, 3, 4, 5]; $array_second = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'e']; $query_string = 'SELECT * FROM `table` WHERE id = ' . implode(' OR id = ', $array_first); $resource = mysql_query($query_string); while ($row = mysql_fetch_assoc($resource)) { echo $row[$array_second[$row['id']]]; }