while... limit
andreas
- php
Hi,
ich hab eeien while schleife die es mir ermöglicht eien art gruppierung vorzunehmen.
die daten kommen aus der db aus einer tabelle
produktlinie
produktgruppe
artikel
script:
$query = "SELECT pl_linie, pl_gruppe, m_artikelbezeichnung_de
FROM artikel
WHERE pl_linie<>''
AND pl_gruppe<>''
ORDER BY pl_linie, pl_gruppe";
$result = mysql_query($query) or die($query.'<br>'.mysql_error());
$linie = "";
$gruppe = "";
while ($line=mysql_fetch_assoc($result))
{
if ($linie != $line['pl_linie'])
{
$linie = $line['pl_linie'];
$gruppe= "";
echo '<b><u>'.$linie.'</u></b><br />';
}
if ($gruppe != $line['pl_gruppe'])
{
$gruppe = $line['pl_gruppe'];
echo '<b>'.$gruppe.'</b><br />';
}
echo $line['m_artikelbezeichnung_de'].'<br />';
}
?>
jetzt möchte ich durch die while schleife nicht im select bereich folgende darstellung haben
Anzeige
eine produktlinie
eine produktgruppe
und dazu 3 dazugehörige artikel
wie stelle ich das am besten an?
danke für jede hilfe
Hello,
jetzt möchte ich durch die while schleife nicht im select bereich folgende darstellung haben
Hmm, was sill der Poster uns damit sagen?
Ich würde vorschlagen, das Seelct einfach zu unterlassen. Dann dürfte die obige Forderung automatisch erfüllt sein.
Aber Scherz beiseite, wilsst Du gruppieren?
Dann wird es bei größeren Datenmengen billiger sein, mehrere SQL-Statements gebündelt abzusetzen, da die zu übertragene Datenmenge zwischen SQL-Datenbank und PHP-API dadurch enorm schrumpft.
Sons gab es gerade die letzen Tage hier einen Sthread zur Ausgabe von Gruppierungen. Frag dann doch bitte nochmal.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
yo,
ehrlich gesagt, ich kann noch nicht genau nachvollziehen, was du willst. viellleicht bin ich ja auch nocht nicht richtig wach.
die daten kommen aus der db aus einer tabelle
produktlinie
produktgruppe
artikel
ist das nun alles eine tabelle mit den drei spalten oder drei tabellen ?
WHERE pl_linie<>''
AND pl_gruppe<>''
besser
WHERE pl_linie IS NOT NULL
AND pl_gruppe IS NOT NULL
if ($linie != $line['pl_linie'])
die beiden variablen $linie und $line sind sich sehr ähnlich und deswegen leicht zu verwechseln. vielleich einfach mal andere verwenden.
jetzt möchte ich durch die while schleife nicht im select bereich folgende darstellung haben
Anzeige
eine produktlinie
eine produktgruppe
und dazu 3 dazugehörige artikel
normalerweise geht das mit GROUP BY wie tom gesagt hat. aber deine 3 dazugehörigen artikel machen es schwierig. durch sql die abfrage so zu getalten, dass er jeweils nur maximal drei aus der jeweiligen gruppe nimmt, ist nicht so einfach. dazu würde mir spontan nur unterabfragen einfallen. ich würde eventuell erst mal über alle anderen gruppieren und dann in php nur maximal drei anzeigen lassen. aber von all dem mal abgesehen, habe ich die vermutung, dass dein datenbank-desgin eventuell nicht ganz so "schön" ist.
Ilja