phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] Parseerror in show_news script

[php] AW: [php] Parseerror in show_news script

Klaus Schmidt ks_(at)_ksweb.de
Wed, 1 Nov 2000 16:39:03 +0100


Statt lol und Fachsimpelei hier die überarbeitete Fassung:

//grab the news (1)
<?
$result = mysql_query ('select * from news where id > 0 order by id desc;');
// (2)
if ($row = mysql_fetch_array($result))  {
 do {
  $datepost=$row['date'];               // (3)
  $date=date('j-m-Y H:i:s',$datepost);
  // BEGIN news
  ?>
  <table bgcolor="#000000" cellpadding=2 cellspacing=2 width="600"
align="center" class=border>
   <tr bgcolor="#000060">
    <td colspan=2>
      <b><? echo $row['headline']."</b> $date - ".$row['author'] // (4) ?>
    </td>
   </tr>
   <tr>
    <td>
      <? echo $row['text'])  // (5) ?>
    </td>
   </tr>
  </table>
  <?
  // END news
 } while($row = mysql_fetch_array($result));
} // von if ($row
?>

(1) wenn nur eine Zeile, dann nicht mit /*  */
(2) es fehlt das 'SQL-Semikolon' (wird oft nicht angemeckert, aber gewöhn es
dir lieber an)
    (schöner wäre auch die Sprachelemente von SQL in groß und Deine Variable
(im SQL) klein
    ist aber nirgend wo fixiert oder gefordert, also 'SELECT * FROM news
WHERE ..'
(3) doppelte Anführungszeichen bringen den Interpreter zum scannen des
Strings
    lass sie weg und nehme einfache ' , dann läuft das Script schneller
(4) die Stringverkettung ist schneller wie der mehrfache echo-Aufruf
(5) es lohnt sich durchaus öfter zu HTML zurückzukehren und so echos zu
sparen
Anm.: Ich habs hier nicht testen können, aber das Prinzip dürfte klar sein
und ich hoffe es hilft



php::bar PHP Wiki   -   Listenarchive