PHP macht \n (Zeilenumbruch) nicht?
Hallo, was ist hier falsch?
if ($res->num_rows > 0) {
while ($i = $res->fetch_assoc()) {
echo ("Nummer: " . $i["id"] . " || Name: " . $i["name"] . " || Eintragsdatum: " . $i["datum"] . " || Geburtstagsdatum: " . $i["gebdatum"] . "\n");
}
}
PHP macht nach dem "\n" keinen Zeilenumbruch?
5 Antworten
Warum das alles gleich ausgeben?
Macht die Sache nur langsam - zudem sollte nach Möglich das Mischen von php und HTML vermieden werden.
Dann gleich in ein Array schreiben und das dann per implode() ausgeben.
Weiterer Vorteil ist dass das Array beliebig weiter verwendet werden kann (z.B. in einer Vorlage).
Beispiel (sofort ausgeben):
echo implode( '<br>', $meinArray );
Oder für spätere Ausgabe in Vorlage:
$data = implode( '<br>', $meinArray );
Soll das Ergebnis von einem Webserver an einen Browser ausgeliefert werden?
Falls ja, dann verwende <br/> anstelle von \n.
Oder besser noch: Pack die Ausgabe in eine Tabelle.
Z.B. so:
echo "<table>";
echo "<tr>Nummer</td><td>Name</td><td>Eintragsdatum</td><td>Geburtstagsdatum</td></tr>";
if($res->num_rows > 0) {
while($i = $res->fetch_assoc()) {
echo ("<tr><td>".$i["id"]."</td><td>".$i["name"]."</td><td>".$i["datum"]."</td><td>".$i["gebdatum"]."</td></tr>");
}
}
echo "<table>";
Evtl. noch n bissl CSS dabei, damits hübsch ausschaut. ^^
Sieht momentan so aus:
https://fs1.directupload.net/images/181224/254hxaqc.png
Die Nummer soll aber über der Nummer stehen, an sich sehe ich aber keine Fehler im Code..?
Zeilenumbrüche in HTML werden via
<br>
statt \r\n gemacht :)
Was war noch gleich der Unterschied zwischen <br> und <br/>? Ich meine mich zu erinnern, dass eines von beiden irgendwas mit XHTML zu tun hat...
Oh okay, dann fährt man also sicher wenn man überall ein / vor das > setzt was keinen schliessenden tag hat (br, input usw.)? Wie sieht es z.B. bei hr aus? Auch mit einem slash beenden?
So lange das Dokument mit dem Mimetype text/html ausgeliefert wird und den Doctype für HTML5 gesetzt hat, ist der Slash für alle empty elements optional. Man könnte an dieser Stelle höchstens anführen, dass es mit Slash lesbarer / stringenter ist (alle anderen Tags werden ja auch geschlossen), wobei das bei weiterer Überlegung auch ein Streitpunkt sein kann (immerhin müssen ja auch keine Kindelemente gruppiert werden). Ein weiterer Punkt für den Slash könnte gewollte Flexibilität sein, das Dokument auch variabel irgendwo als XHTML ausliefern zu können. Dann müssten aber auch alle anderen Tags und Attribute XML-konform umgesetzt werden.
Noch als Randbemerkung: Das Leerzeichen vor dem Slash, wie man es oft sieht:
<br />
ist laut XML 1.0 Spezifikation (3.1, [44]) optional.
Schaust du hier:
https://www.informatikzentrale.de/_files/05php/php04_br-und-new-line-php.pdf
Steht gleich ganz oben ^^
Du hast es falsch in klammern gesetzt.
echo("Das ist ein Zeilenumbruch: \n");
er hat es richtig gesetzt . nur ist er wahrscheinlich nciht auf der kommandozeile oder in einem <textarea>
Wie geht das mit der Tabelle?