PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : db werte getrennt ausgeben



nixlike
22-07-2010, 04:31
hi alle zusammen :)

folgendes szenario:
es gibt 3 standorte, zu jedem standort ein produkt das an den anderen standorten nicht verfügbar ist. jedes produkt ist in einer datenbank eingetragen mittels einem location code zB HB oder DM. nun möchte ich anhand dieser location codes sortieren bzw. die ausgabe soll so ungefähr aussehen:

HB
produkt1 .....
produkt2 .......

DM
produkt1.....

usw.
bitte diesbezüglich um hilfe :)

kleine nachträgliche änderung: es können auch mehr als 3 produkte sein, genauso können es auch weniger sein und auch neue standorte können hinzukommen.
es soll einfach nur alles sortiert aufgelistet werden, egal was ich an einträgen in die datenbank so vornehme.

jeebee
22-07-2010, 10:29
also so im stil von
mysql_connect(...)
$lc=mysql_query("SELECT DISTINCT location_code FROM products");
while($loc=mysql_fetch_row($lc)) {
$location=$loc[0];
echo $location."<br />";
$products=mysql_query("SELECT product FROM products WHERE location_code=".$location); // direkte Stringkonkatenierung nur ok, da der Inhalt der Variable aus der DB kommt.
while($prod=mysql_fetch_row($products)) {
echo $prod[0]."<br />";
}
echo "<br />";
}

nixlike
22-07-2010, 19:08
hab jetzt mal schnell drübergeguckt und ich glaube das ist das wonach ich suchte ^^ dachte mir, dass man das eventuell anders realisieren kann anstatt mit 2xsql query aber so sei es :)

werd es dann nachher probieren, vielen dank ^^

msi
22-07-2010, 19:25
geht natürlich auch mit einer query




$lc=mysql_query("SELECT product,location_code FROM products order by location_code");
$location = null;
while($loc=mysql_fetch_row($lc)) {
if ( $location !== $loc[1] ) {
$location=$loc[1];
echo $location."<br />";
}

echo "{$loc[0]}<br />";
}

nixlike
22-07-2010, 23:50
wow, funktioniert perfekt msi :)

was ich nicht verstehe ist der letzte punkt, warum {$loc[0]} in geschwungenen klammern steht. denn wenn ich die " mit ' ersetzte (da ich eher mit ' als mit " arbeite) wird das {$loc[0]} direkt als text ausgegeben und nicht die variable dahinter. das korrekte ausgeben hab ich schon hinbekommen, jedoch interessiert mich der hintergrund.

vielen dank für eure hilfe :)

msi
23-07-2010, 00:02
hier kannst du das nachlesen, scroll vA runter zu "Variable parsing"
http://php.net/manual/en/language.types.string.php