Php Döngü İçinde Döngü Olayı
-
Sql kodum
$siparis = $db->get_results("SELECT siparisler.*,siparisurun.* FROM siparisler INNER JOIN siparisurun ON siparisler.siparis_id = siparisurun.sip_sid WHERE siparisler.siparis_sahip = '$uyeid'");
Siparişler Tablom
Siparisurun tablom
Yapmak istediğim şey siparisleri bir yere listeleletmek
foreach ($siparisler as $siparis){
echo $siparis->siparis_id;
}
bu kodla normal şekilde listeletiyorum benim istediğim tablolarda her sipariş idsine ait birden fazla ürün var bu ürünleri nasıl döngüdeki siparişlerin altına 2. bir sorgu gerektirmeden listeleyebilrim
bu inner joinle sadece tek bir ürünü çekiyor ?
-
Hocam maruz gör ama sanırım foreach'de bir yanlışlık var.
Eğer kod yapın böyleyse, result $siparis'e geliyorsa alttaki foreach'in tam tersi olması lazım.
https://secure.php.net/manual/tr/control-structures.foreach.php
foreach (dizi as degisken) şeklinde olmalı.
SQL kodunda bir yanlışlık göremedim. Kriteri karşılayan her verinin gelmesi gerekiyor.
-
Austen bunu yazdı
Hocam maruz gör ama sanırım foreach'de bir yanlışlık var.
Eğer kod yapın böyleyse, result $siparis'e geliyorsa alttaki foreach'in tam tersi olması lazım.
https://secure.php.net/manual/tr/control-structures.foreach.php
foreach (dizi as degisken) şeklinde olmalı.
SQL kodunda bir yanlışlık göremedim. Kriteri karşılayan her verinin gelmesi gerekiyor.
aslında doru sadece ben yanlıs yazmısım :)
function urunler(array $sid = null){ global $db,$cikti; $urunx = $db->get_results("SELECT * FROM siparisurun WHERE sip_sid IN ('" . implode("','", array_map('intval', $sid)) . "')"); $cikti = array(); echo 'Siparişe ait ürünler :
'; foreach ($urunx as $urn){ $cikti[] = $urn->sip_urun.'<br/> ';
'; } return $cikti; } $siparis = $db->get_results("SELECT * FROM siparisler WHERE siparis_sahip = '$uyeid'"); $idw = array(); foreach ($siparis as $sip){ echo ''.$sip->siparis_id.' ID li Sipariş
'; urunler(array($sip->siparis_id)); foreach ($cikti as $un){ echo $un; } }olayıda böyle çözdüm kod hakkında önerisi olanı bekliyorum :)
-
left join right join olaylarını incele hocam.