Mailinglisten-Archive |
Stefan Mueller schrieb: > Hallo Leute, > > Ich habe ein Problem bzw. ein Breakout und komme einfach nicht weiter. > Vielleicht hat ja von Euch eine Idee oder Lösungsansatz. > > Ich habe eine Tabelle mit folgenden Daten. > > Kundennummer > Kaffe > Milch > Zucker > Butter > Fleisch > Gemüse > > So, der Kunde hat als Beispiel: 2x Milch, 1x Butter und 1 x Gemüse > bestellt. > > Wie kann ich das jetzt machen, wenn ich mir seine Bestellung anschaue, > nacheinander oder nebeneinander die Produkte in einer HTML Seite > anzeigen lassen kann. Das heisst, wenn er keinen Kaffe bestellt > hat, soll es auch nicht erscheinen. Also, es soll wenn möglich so > erscheinen: > > Milch: 2 Butter: 1 Gemüse: 1 > > und nicht: > > Kaffe: Milch: 2 Zucker: Butter: 1 > > usw. > > Ich habe schon überlegt, ob das mit if-anweisungen geht, aber > das kann auch nicht klappen. Ich habe das bisher immer mit if - Anweisungen erledigt. select über alle spalten $numrow = pg_numrows( $result );// bei mysql sieht das natürlich anders aus ;-) for( $i=0; $i < $numrow; $i++ ) { list( $kaffee, $milch, $zucker, $butter ) = pg_fetch_array( $result, $i ); if( trim( $kaffee ) )//trim(), je nach DB-Spaltentype - bei Typ: varchar und text nicht unbedingt erforderlich. { $bestell[$i][]["was"] = "Kaffee"; $bestell[$i][]["menge"]= $kaffee; //erste feld ist für die allgemeine Ergebnismenge (DB-Records) //die zweite eckige Klammer für die Bestellung des Kunden( pro DB-Record ) (z.B. nur Kaffee ) //Die dritte Klammer erklärt sich ja von selbst, oder !? }//if kaffee if milch if zucker if butter usw. }//for $numrow echo "<table>\n"; for( $y=0; $i < count( $bestell ); $y ++ ) { echo "<tr>\n"; for( $i = 0; $i< count( $bestell[$y] ); $i++ ) { echo "<td> <b>".$bestell[$y][$i]["was"]."</b> </td>\n"; echo "<td> ".$bestell[$y][$i]["menge"]." </td>\n"; }//for $i $bestell[$y] echo "</tr>\n"; }//for $y echo "</table>\n"; So müsste es funzen. Viel Spaß -- Steffen Sander - Softwareentwicklung CRS Computer Register Service GmbH - Ritterstr. 11 - 10969 Berlin eMail s.sander_(at)_crs.de -Tel: +49-30-614 60 01 - Fax: +49-30-614 85 81 http://www.crs.de - http://www.markthalle.de - http://www.stadtnetz.net
php::bar PHP Wiki - Listenarchive