MySQL Abfrage mit Abhängigkeiten

speedyggg

Erfahrenes Mitglied
Hallo,
ich habe folgendes Problem.
Ich habe eine DB in der verschiedene Artikel hinterlegt sind.
Von jedem Artikel kann es aber mehrere Stück geben. D.h. ein Datensatz in dem als Stückzahl für diesen Artikel meinetwegen 10 steht. Ich möchte jetzt eine Abfrage stricken die nicht nur die anzahl der Datensätze in der DB ausliest sondern weiter noch den Datensatz der als Inhalt z.b. 10 hat 10x auszulesen. Hintergrund ist das ich damit Etiketten drucken will und wenn ich 10 Artikel habe brauche ich natürlich auch 10 x den Ausdruck von diesem einem Artikel.
Hat da einer ne pfiffige Lösung? Ích habe so einiges probiert, bleibe aber immer irgendwie hängen.

Vielen Dank im voraus

Speedyggg
 
Hi Ich weiß zwar nicht, wie und womit Du Deine Etiketten druckst, aber du könntest doch einfach die Druckroutine in einer Schleife packen, die genau STUECKZAHL mal durchlaufen wird.
Dann kann deine Abfrage der DB weiterhin sinnvoll und kurz bleiben.

Oder warum brauchst Du so einen Umweg?

vop
 
Ansonsten könntest Du natürlich einen fiesen Workaround basteln

Erstelle Dir eine Tabelle Stueckzahlen, in die Du jeweils für die Stückzahl n n Einträge machst, etwa so:
STUECKTZAHL
1
2
2
3
3
3
4
4
4
4
...

Nun kannst Du Deine ursrpüngliche Tabelle mit WHERE verknüpfen (über die Stückzahl)
Das führt dazu, dass die jeweils ensprechend viele Wiederholungen hast.

Ist allerdings eine ziemlich unsaubere Lösung
vop
 
Hallo ,
danke erstmal für deine Antworten.

Um das Thema ein wenig zu vertiefen. Den Ausdruck generieren ich über PHP und FPDF.
Alles soweit ok. Problem ist halt das ich im MySql oder SQL nicht so fit bin um nicht zu sagen das ich ein Newbie bin. Deshalb wäre es sehr hilfreich wenn du mir eine Codezeile (beispiel) wie so etwas in MySql aussieht. Ich habe eine DB in z.B. ein Datensatz steht wie:
Artikelnr, Warengruppe, Datum , Lieferant etc diesen Teil kann ich schon auslesen und bekomme es auch aufs Etikett. Nur an der anderen geschichte mit den Stückzahlen (Lager 1, Lager 2) also zwei verschieden Stückzahlen in einem Datensatz werde ich noch verzweiflen.

Wenn ihr mir nochmal helfen könntet.

Thx
Speedyggg
 
meinste sowas :

PHP:
$erg = mysql_query("select * from artikel");
where ($row = mysql_fetch_array($erg)) {
 for ($lo=0;$lo < ($row["lager1"] + $row["lager2"]);$lo++) {
  f_print($row);
 }
}

sprich den Datensatz einmal auslesen dann eine schleife starten die den datensatz x mal ausgibt
 
Zurück