Mailinglisten-Archive |
Sebastian Mendel schrieb:
> Joern Grube wrote:
>> Das Ganze natürlich nicht nur einmal, sondern eben alle Bundesländer
>> Deutschland und diverser anderer Staaten. Nun will ich das Ergebnis in
>> einer Tabelle ausgeben und zwar EINMAL als th den Staat und dann als
>> td's die dazugehörigen Bundesländer. Gibt es da für ein Array sowas
>> wie SELECT DISTINCT für die Datenbank? Oder brauch ich was ganz anderes?
>
>
> schrieb das Array beim auslesen halt gleich so wie du es brauchst z. B.
>
> while ( $row = mysql_fetch_assco( $result ) )
> {
> $staat[$row['all_staat_id']]['name'] = $row['all_staat_staat'];
> $staat[$row['all_staat_id']]['länder'][$row['all_bundesland_id']] =
> $row['all_bundesland_bundesland'];
> }
Ich gebs ungern zu, aber ich krieg das irgendwie nicht mit :(
Ich hab unten angehängten Code, der funktioniert auch soweit, gibt mir
aber eben immer Staat => Bundesland. Ich hab mir auch array_unique
angesehen, aber irgendwie komme ich nicht dahinter, wie mir das
weiterhelfen soll :(
Vielleicht wäre jemand so nett, nochmal ein wenig zu schubsen.
--
Mit freundlichen Gruessen Joern Grube
$sql = "SELECT
all_staat_id,
all_staat_staat,
all_bundesland_id,
all_bundesland_bundesland,
all_bundesland_staat
FROM
all_staat,
all_bundesland
WHERE all_bundesland_staat = all_staat_id
ORDER BY all_staat_staat, all_bundesland_bundesland ASC";
// Neue Instanz der DB-Klasse Query erstellen
$anzeige = new Query($sql);
if($anzeige->error()) {
echo "<pre>\n";
echo $anzeige->getError();
echo "</pre>\n";
die();
}
$i = 0;
while($i < $anzeige->numRows()) {
echo "<tr onMouseOver=\"this.bgColor='#ccffcc'\"
onMouseOut=\"this.bgColor='#ffffff'\">";
for($a = 1; $a < 4; $a++) {
if($i < $anzeige->numRows()) {
$cell = $anzeige->fetch();
$i++;
echo "<td width=\"33%\">".$cell["all_staat_staat"]." =>
".$cell["all_bundesland_bundesland"]."</td>";
} else {
echo "<td width=\"33%\"> </td>";
}
}
echo "</tr>";
}
$anzeige->free();
unset($anzeige);
php::bar PHP Wiki - Listenarchive