bernhard: Fehler in Tabellenausgabe!

Grüß euch! Wieso nimmt er mir den PHP Code nicht?

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT * FROM news ORDER BY id DESC";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
$id = $_GET['id'] + 1;

while ($ausgabe = mysql_fetch_array ($result))
 {
<table summary="News" align="center">
<p align="center">
<b></b></p>
<tbody>
<tr>
 echo ("
<th id="t" align="left" abbr="#">$ausgabe[utext]</th>
<tr>
<th id="t" align="left" abbr="#"><span "font-weight: 400">$ausgabe[text]</th>
<tr>
          ");
<th id="t" align="left" abbr="#"><span "font-weight: 400">if($ausgabe['bin_data']!=""){ print "<p align="center"><img border="1" src="getdata.php?id=$ausgabe[id]"></p>";}</th>
<tr>
 echo ("
<th id="t" align="left" abbr="#"><span "font-weight: 400">Autor: $ausgabe[verfasser]</th>");
</tbody>
</table>
}

mysql_close ($dbverbindung)
?>

Bei der Ausgabe kommt immer die meldung:
Parse error: parse error, unexpected '<' in /home/ldapcustomers/10865-10865/www/htdocs/datenbank/tgost/test.php on line 20

was muss ich machen das des nimma kommt?

Danke, bernhard

  1. Halihallo bernhard

    Grüß euch! Wieso nimmt er mir den PHP Code nicht?

    Im PHP-Kontext (sprich zwischen <? ?> oder einem anderen "PHP-Tag"),
    werden Ausgaben z.B. über http://www.php.net/echo ausgegeben!
    Wie sonst soll der Compiler wissen, was er zu interpretieren hat und
    was nicht?

    Viele Grüsse

    Philipp

  2. Hallo,

    while ($ausgabe = mysql_fetch_array ($result))
    {
    <table summary="News" align="center">

    Da faengst Du mitten im PHP-Code ploetzlich mit HTML-Code an...
    Kein Wunder, kommt die Fehlermeldung:

    Parse error: parse error, unexpected '<' in [...]

    Vermutlich willst Du eine Ausgabe machen, also fasse den ganzen
    Text-Block in echo " "; ein:

    while ($ausgabe = mysql_fetch_array ($result))
     {
    echo "
    <table summary="News" align="center">
    <!-- u.s.w. -->
    </table>
    }

    Mach Dir klar, was der Unterschied zwischen HTML- und PHP-Quellcode ist.

    Lies unbedingt mal folgendes durch:
    PHP-Manual: Strings, Einfache und doppelte Anfuehrungszeichen, HEREDOC-Syntax,
    http://www.php.net/manual/en/language.types.string.php

    Das HTML, das bei Dir rauskommt, ist uebrigens extrem kaputt.
    Du faengst eine Tabelle an, dann schreibst Du einen sinnlosen
    leeren Absatz <p><b></b></p>, dann erst die eigentlichen
    Tabellen-Zeilen, am Schluss noch ein schliessendes </tbody>,
    das nie explizit geoeffnet wurde...

    Schick den HTML-Quellcode, der bei Deinem PHP-Skript herauskommt,
    unbedingt durch den Validator http://validator.w3.org/ und sorge
    dafuer, dass er valide ist.

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Hallo,

      Sorry, kleine Korrektur (schliessendes " vergessen):

      while ($ausgabe = mysql_fetch_array ($result))
        {
       echo "
       <table summary="News" align="center">
       <!-- u.s.w. -->
       </table>
       ";
       }

      Eventuell waere es auch schlauer, zuerst die Tabelle zu oeffnen,
      dann fuer jeden Eintrag nur eine Tabellen-Zeile zu schreiben,
      und am Schluss die Tabelle wieder zu schliessen:

      echo "<table>";

      while ($ausgabe = mysql_fetch_array ($result))
        {
         echo "
         <tr>
         <!-- u.s.w. -->
         </tr>
         ";
        }

      echo "</table>

      mfg, Thomas