Sp33dy G0nz4l3s: Wenn Feld leer keinen Link anzeigen

Beitrag lesen

hi,

echo " <b>" . if (!empty $row["Homepage"]) { . "<a href="" . htmlspecialchars($row["Homepage"]) . "" target="_blank">" . } htmlspecialchars($row["Name"]) if (!empty $row["Homepage"]) { . "</a>" . } . "</b> "

Es funktioniert leider nicht. Es wird immer folgendes angezeigt: Parse error: syntax error, unexpected T_IF in

Natürlich - weil du einfach ein if in einen Ausdruck reinklatschst.

Du hast diverese Möglichkeiten:

  • du beendest erst mal das echo, machst dann ein if und abhängig davon eine weitere Ausgabe
  • du setzt dir den Link (oder nicht-Link) erst mal in einer Variablen zusammen, und gibst diese dann im echo mit aus
  • du nutzt den Trinitäts-Operator, den kannst du nämlich auch in einem Ausdruck verwenden
  • ...

gruß,
wahsaga

Hi, Danke für die Antwort. Ich habe versucht die erste Methode zu machen:

// while-Schleife Anfang
while($row = mysql_fetch_assoc($result2)) {
  echo "<p><b>#".$nr."</b><b>";
  if (!empty $row["Homepage"]) { echo "<a href="" . htmlspecialchars($row["Homepage"]) . "" target="_blank">" }
  echo htmlspecialchars($row["Name"]);
  if (!empty $row["Homepage"]) { echo "</a>" };
  echo "</b>" .
  "<br>--&gt; schrieb am " .
  "<b>" . $row["Datum"] . "</b>:" .
  "<p>" . nl2br(htmlspecialchars($row["Kommentar"])) . "</p><hr>\n";
  $nr++;
} // while Ende

Stimmt die so? Ich bekomme immer noch die gleiche Fehlermeldung.