echo formatieren

Gerhard0964

Grünschnabel
Hallo,
ich habe folgendes Echo:

echo $row["Vorname"]." ".$row["Nachname"]." ".seit." ".$row["Eintrittsdatum"]." ".'das sind'." ".$row["Mitgliedszeit"]." ".'Jahre'." ".'<br>';

jetzt möchte ich aber hinter $row["Eintrittsdatum"] gerne ein Komma einfügen, da mir die Ausgabe:

G W seit 12. 03. 1973 das sind 35 Jahre

so nicht gefällt. Mit \',\' und "," sowie ',' habe ich es schon probiert - endet immer in einem unexpectet!

Hat jemand eine Idee?

Viele Grüße und schöne Ostern
Gerhard
 
PHP:
echo $row["Vorname"]." ".$row["Nachname"]." seit ".$row["Eintrittsdatum"].", das sind ".$row["Mitgliedszeit"]." Jahre <br>";
 
Hallo Gumbo,
Ok, da hätte ich aber wirklich selbst draufkommen können! :-( Warum kompliziert, wenns auch einfach geht.

Vielen Dank und schöne Ostern
Gruß
Gerhard
 
Noch ein kleines Problem. Da hab ich jetzt aber große Verständisschwierigkeiten, da es einmal klappt und dann nicht:

Wenn ich folgendes mache:

echo "<b> $data->mitglieder</b>";

erhalte ich meine Ausgabe fett.

Wenn ich es dann aber hier genauso mache:

echo "<b>$row["Vorname"]." ".$row["Nachname"]</b>".", seit ".$row["Eintrittsdatum"].'.<br>';

erhalte ich einen unexpectet! Warum?

Gruß
Gerhard
 
Also deine Punkt- und Anführungsstrich-Setzung ist nicht ganz richtig. In Anführungsstriche den HTML-Code und die einzelnen Teile mit Punkten verbinden (ist ja nur nötig, wenn Variablen dazwischen kommen).

echo "<b>$row["Vorname"]." ".$row["Nachname"]</b>".", seit ".$row["Eintrittsdatum"].'.<br>';

würde ich so schreiben:

PHP:
echo "<b>".$row['Vorname']." ".$row['Nachname']."</b>, seit ".$row['Eintrittdatum'].".<br>";

Also an sich sieht es schon fast gut aus, aber du solltest vielleicht die b-Tags von den Variablen trennen. Und der Fehler dürfte sein, dass du die doppelten Anführungsstriche auch in den eckigen Klammern benutzt hast, dann will php die Ausgabe beenden und selbst wenn das dann korrigiert ist, beendet php den ersten HTML-Teil nach dem Vornamen und dann kommt eine Lücke, die auch nicht ganz stimmt, da müsste dann entweder ein punkt für den nächsten teil folgen oder ein Semikolon für das Ende des echos.
 
Die Leerstellen sind im Editor "phase5" Punkte.

Ich habe die Abfrage jetzt mal so gemacht:

echo $row['Vorname']." ".$row["Nachname"]." ".seit." ".$row["Eintrittsdatum"].", das sind ".$row["Mitgliedszeit"]." ".'Jahre.'." ".'<br>';

Damit erhalte ich:

G W seit 12.03.1973, das sind 35 Jahre.

Die doppelten Anführungszeichen sind dabei offensichtlich tatsächlich nicht nötig - wusste ich nicht, wieder was gelernt. Aber auch wenn ich das jetzt so schreibe:

echo "<b>" $row['Vorname']." ".$row['Nachname']." "</b>.seit." ".$row['Eintrittsdatum'].", das sind ".$row['Mitgliedszeit']." ".'Jahre.'." ".'<br>';

erhalte ich das:

Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /homepages/6/d137089371/htdocs/static/35_jahre.php on line 47

also daran liegt es nicht.

Das mit "html".php."html" habe ich schon mehrfach gefunden, aber mit der Umsetzung klappt es dann nicht.
 
Ich habe die Lösung!!

echo "<b>{$row['Vorname']}</b>"." "."<b>{$row['Nachname']}</b>"." ".seit." ".$row['Eintrittsdatum'].", das sind ".$row['Mitgliedszeit']." ".'Jahre.'." ".'<br>';

Damit erhalte ich das:

G W seit 12.03.1973, das sind 35 Jahre.

ich habe die ganze Variable in die geschweifte Klammer eingebaut und dann erst die HTML - Tags dazu. Jetzt klappt es auch mit dem Nachbarn.

Gruß
Gerhard
 
Du machst es dir wirklich schwer. Du musst nicht jedes Zeichen oder jede Teilzeichenkette einzeln miteinander verketten sondern kannst sie direkt hintereinander schreiben. Auch solltest du dich am besten für eine Schreibweise entscheiden und diese durchgängig verwenden.
Hier ein paar Vorschläge:
PHP:
echo "<b>".$row['Vorname']."</b> <b>".$row['Nachname']."</b> seit ".$row['Eintrittsdatum'].", das sind ".$row['Mitgliedszeit']." Jahre <br>";
// das Gleiche mit einfachen Anführungszeichen:
echo '<b>'.$row['Vorname'].'</b> <b>'.$row['Nachname'].'</b> seit '.$row['Eintrittsdatum'].', das sind '.$row['Mitgliedszeit'].' Jahre <br>';
// eigebettete Schreibweise:
echo "<b>{$row['Vorname']}</b> <b>{$row['Nachname']}</b> seit {$row['Eintrittsdatum']}, das sind {$row['Mitgliedszeit']} Jahre <br>";
 
Zurück