Moin!
while ($res = mysql_fetch_array ($sql)){
echo "<li><a href="".$res['url']."" target="_self">".$res['name']."</a></li>";
}
Prima ist, das es funktioniert. Nun möchte ich aber das echo nicht in der Function haben, sondern würde das gern mit return machen wollen.
Gut. Ein sehr guter Vorsatz, Funktionen so zu gestalten, dass man sie flexibel verwenden kann. Heute möchtest du das, was die Funktion ermittelt, direkt mit echo ausgeben, morgen vielleicht in eine Datei schreiben, und nächste Woche womöglich nur nach einem bestimmten Muster durchsuchen.
Soweit ich weiß, beendet die function return die schleife sofort.
Nein, return ist keine Funktion. Und ja, return beendet sofort beim ersten Vorkommen die Schleife und die gesamte Funktion, in der es steht.
Du musst also das, was du bisher mit dem echo ausgibst, stattdessen als String in einer lokalen Variablen aufsammeln. Wenn die Schleife bis zum Ende durchgelaufen ist, gibst du den Variableninhalt komplett mit return zurück an das aufrufende Programm.
Ciao,
Martin
Irgendwann in grauer Vorzeit benutzte einer unserer prähistorischen Vorfahren ein Schimpfwort anstelle der Keule.
Die Zivilisation hatte begonnen.