Seite 1 von 1
sql: Datensätze abteilen
Verfasst: 02.01.2007, 13:04
von nerd
hallo,
ich habe folgendes problem: ein shopping system mit warenkorb, und ich will eine liste mit allen verkauften waren, kunde, auftrag_id. klappt auch, nur sieht meine ausgabe jetzt etwa so aus:
auftrag - name - artikel
1 - Max musterman - musterprodukt 1 (preis, anzahl, ...)
1 - Max musterman - musterprodukt 3
2 - Bernd Beispiel - beispielprodukt 2
gibt es irgendwie die möglichkeit in sql die ausgabe so umzubiegen das etwas rauskommt wie:
auftrag 1, Max Musterman
musterprodukt 1
musterprodukt 3
auftrag 2, Bernd Beispiel
beispielprodukt 2
klar, in php kann ich das auch aber für mich wäre es praktischer wenn ich nur sql umschreiben muss.
Verfasst: 02.01.2007, 13:16
von SloMo
Nerd, SQL-Abfragen liefern immer Tabellenzeilen mit der gleichen Spaltenzahl und -reihenfolge. Für die Erzeugung angenehmer lesbarer Listen ist dann PHP oder (noch besser) das Template-System zuständing.
Verfasst: 02.01.2007, 15:47
von Ice Man
Schleife 1 mach doch eine Abfrage nach Bestellnummer
Jetzt schleife2: Abfrage nach Produkte von Besteller Schleifen[id]
Ende schleife 2: mit Gesamt Summe
Ende schleife 1:
damit sollte es übersichtlich sein
Verfasst: 02.01.2007, 20:06
von nerd
SloMo hat geschrieben:Nerd, SQL-Abfragen liefern immer Tabellenzeilen mit der gleichen Spaltenzahl und -reihenfolge. Für die Erzeugung angenehmer lesbarer Listen ist dann PHP oder (noch besser) das Template-System zuständing.
ich hatt mal einen sql kurs vor ein paar jahren, dachte da war etwas ähnliches mal am ende des kurses, dachte damals "wer kann denn sowas jemals brauchen" - weis jetzt aber nichtmehr wie das kommando war, und es war auch eine mssql2000 db - hier ist es mysql.
man kann (zumindest bei mssql2000) abfragen oder stored procedures schreiben die mehr als nur ein recordset erzeugen, also z.b. für eine rechnung einmal empfänger, anschrift usw. und dann in einem 2. recordset die ganzen waren zur rechnung - dabei gibt man dann wie geschrieben nur ein kommando an die db und bekommt mehrere recordsets dafür zurück.
Re: sql: Datensätze abteilen
Verfasst: 02.01.2007, 20:40
von 800XE
nerd hat geschrieben:
ich habe folgendes problem: ein shopping system mit warenkorb, und ich will eine liste mit allen verkauften waren, kunde, auftrag_id. klappt auch, nur sieht meine ausgabe jetzt etwa so aus:
auftrag - name - artikel
1 - Max musterman - musterprodukt 1 (preis, anzahl, ...)
1 - Max musterman - musterprodukt 3
2 - Bernd Beispiel - beispielprodukt 2
gibt es irgendwie die möglichkeit in sql die ausgabe so umzubiegen das etwas rauskommt wie:
auftrag 1, Max Musterman
musterprodukt 1
musterprodukt 3
auftrag 2, Bernd Beispiel
beispielprodukt 2
klar, in php kann ich das auch aber für mich wäre es praktischer wenn ich nur sql umschreiben muss.
Wie SloMo sagte, mit SQL gehts nicht
und wie DU sagtes ... mit PHP .... aber wie mit PHP
deine PHP ist verscachtelte SQL Abfragen ... erst Kunde und dann seine Artikel?
geht auch mit nur einer SQL
Code: Alles auswählen
SQL.......
while( $line = sql_fetch_array
{
if ( $lastkunde == $line[ kunde ] )
{
}
else
{
$content .= "<br>Auftrag No. $i für $line[kunde]";
}
$content .= "<br>Artikel: $line[artikel]";
$lastkunde = $line[ kunde ];
}
Kundenname ausgeben wenn Anders als bei forrausgegangenem Datensatz
Re: sql: Datensätze abteilen
Verfasst: 03.01.2007, 23:49
von nerd
800XE hat geschrieben:
Wie SloMo sagte, mit SQL gehts nicht
pha, ich frag halt einfach solange weiter bis es jemand weiss!
800XE hat geschrieben:
und wie DU sagtes ... mit PHP .... aber wie mit PHP
deine PHP ist verscachtelte SQL Abfragen ... erst Kunde und dann seine Artikel?
Kundenname ausgeben wenn Anders als bei forrausgegangenem Datensatz
jaaaa, das is ja billig. nur habe ich schon eine .php die ich nur mit einem sql string füttern muss um mir diverse stats ausgeben zu lassen. wollte deswegen ja nicht extra ne neue seite anlegen.
Re: sql: Datensätze abteilen
Verfasst: 04.01.2007, 00:18
von 800XE
nerd hat geschrieben:800XE hat geschrieben:
800XE hat geschrieben:
und wie DU sagtes ... mit PHP .... aber wie mit PHP
deine PHP ist verscachtelte SQL Abfragen ... erst Kunde und dann seine Artikel?
Kundenname ausgeben wenn Anders als bei forrausgegangenem Datensatz
jaaaa, das is ja billig. nur habe ich schon eine .php die ich nur mit einem sql string füttern muss um mir diverse stats ausgeben zu lassen. wollte deswegen ja nicht extra ne neue seite anlegen.
und wie tät es sein mit einem zusätzlichen Parameter
......php?mode=sublines
Code: Alles auswählen
SQL.......
while( $line = sql_fetch_array
{
if ( $_GET[mode] == 'sublines' )
{
if ( $lastkunde == $line[ kunde ] )
{
}
else
{
$content .= "<br>Auftrag No. $i für $line[kunde]";
}
$content .= "<br>Artikel: $line[artikel]";
$lastkunde = $line[ kunde ];
}
else
{
$content .= "<br>$line[kunde] | $line[artikel]";
}
}