Ich habe eine Minute Problem mit verschachtelten Schleifen.Ich habe zwei Tabellen Produkt und Produkt_option Jedes Produkt hat eine Option, Preis Beispiel Ring ($ 25) mit Option rot ($. 50) und gelb ($ 75). Also die Tabelle ist so etwas wie dieses Produkt (ID, Preis, Beschreibung) und Produkt_Option (Produkt_ID, Optionsname, Optionspreis) Wenn ich Daten von PHP abrufen, sollte die Ausgabe in etwa so aussehen Ring ($ 25) insgesamt -Preis 25,75 rot (.50), gelb (0,25)Php Nested Schleifen mit wiederholten Werten
Aber meine Ausgabe gezeigt so etwas wie dieses
Ring ($ 25)
rot (.50), rot (.50)
Unten finden Sie den Code ein
session_start();
require_once './classes/cartclass.php';
$val = new carts();
While($cartContent = mysql_fetch_assoc($cartContents))
{
if($cartContent['ctsid']==session_id())
{
$cartid=$cartContent['ctid'];
$subTotal += $cartContent['ctprice'] * $cartContent['ctqty'];
echo $cartContent['iname'];
echo $cartContent['mprice'];
echo $cartContent['mdesc'];
$count=mysql_num_rows($val->getCartopt($cartid));
if($count>0){
$CartOpt = mysql_fetch_assoc($val->getCartopt($cartid));
foreach($CartOpt as $Cartopts){
echo $CartOpts."".$CartOpt['ctopname'];
$i++;
if($i==$count)
break;
}
}
}
}
Ok, ich über ein bereits versucht, bekommt die während in unendliche loop.Inorder zu vermeiden, dass ich eine Zählung hinzugefügt und brechen in meinem vorherigen Code – user501307
eine Zählung hinzufügen und eine Pause ist völlig nutzlos in meine ehrliche Meinung. Eigentlich sollte es niemals zu einer Endlosschleife kommen, da die Schleife auf Ergebnissen basiert, die von einer Datenbank kommen, die niemals endlos sein kann. Was ich sicher bin, ist, dass die foreach-Schleife kombiniert mit mysql-Ergebnissen und einer Zählung gleich einer einfachen Weile ist. while (mysql_fetch_assoc ($ result)) führt für jedes Element des Arrays eine Schleife aus, so dass das Zählen der Ergebnisse und das Abbrechen der Schleife, wenn sie endet, völlig nutzlos ist. – Shoe