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