• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Überschriften doppelt

Status
Für weitere Antworten geschlossen.

CrackPod

Neues Mitglied
Hallo,

[php:1:8a2726971a]<?php
$dbConn->dbQuery("SELECT
nI.id,
nI.navid,
nI.name AS nIname,
nH.name
FROM
navitems nI
LEFT JOIN navheadlines nH ON nI.navid = nH.id
ORDER BY
nH.name");?>[/php:1:8a2726971a]
So sieht meine SQL Abfrage aus.
Funktioniert auch alles super.
Nur wenn nich nun:
[php:1:8a2726971a]<?php
while($links = mysql_fetch_object($dbConn->query)) {
echo '

'.$links->name.'
'.$links->nIname.', </p>';
}
?>[/php:1:8a2726971a]
Ausführe, dann bekomm ich die Überschrift für die Navigationen immer doppelt...
Beispiel schrieb:
Main Navigation
News,

Main Navigation
News Archiv,

Main Navigation
Links,

Other Links
Impressum,

Other Links
Kontakt,
Wie kann ich meinen Query bzw die Ausgabe so modifizieren, damit ich die Überschrift jeweils nur einmal ausgebe?
Beispiel schrieb:
Main Navigation
News,News Archiv,Links

Other Links
Impressum,Kontakt
Eine andere Möglichkeit, die mir einfällt, wäre halt eine verschachtelte While Schleife, was mir aber nicht so ganz passen würde fänds mit LEFT JOIN schöner(und schneller, da weniger querys)
Hat jemand eine antwort?

Greetz
 
Hi CrackPod

verändere doch einfach den Ausgabecode. So dass nur beim ersten Durchlauf beides ausgeben wird und ab dem zweiten nur noch "$links->nIname". Ein einfacher Zähler und eine if/else-Abfrage sollten dazu reichen. ;)

Gruß
Hobbyuser
 
sag mir mal, wie du das machen möchtest.
Man kann unter einer Überschrift x links machen. Woher soll ich wissen nach wievielen Links eine neue überschrfit ausgegeben werden soll.
Ein INT das hochzählt geht schonmal nicht, da ich ja nicht weiß, wieviele Links unter einer Überschrift sind
 
einfach einer temporären Variable den Kategorie Namen zuweisen.
Code:
if($links->name != $tmp ) {
//Neue Kategorie ...
}
$tmp =  $links->name;
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben