Mailinglisten-Archive |
Joern Grube wrote:
> 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";
Wieso lässt du Daten aus der DB holen die du gar nicht verwendest?
Und ist `all_bundesland_staat` nicht ein String und `all_staat_id` nicht
eine Zahl (im WHERE)?
SELECT all_staat_staat AS `staat`,
all_bundesland_bundesland AS `land`
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
welche DB-Klasse ?
> $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>";
> }
ganz schön umstandlich ...
while ( $row = $anzeige->fetchRow() )
{
$staaten[$row['staat']][] = $row['land'];
}
foreach ( $staaten as $staat => $laender )
{
echo '<tr><th>' . $staat . '</th><td>' . implode( ', ', $laender )
. '</td></tr>';
}
... irgendwie so ...
--
Sebastian Mendel
www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive