Geschrieben von danielkuhner am 08.08.2004, 15:44

In diesem Tutorial wird erklärt, wie man eine sehr einfache Seite macht, die News ausgibt.
Fangen wir mit dem Inluden der DB-Datei an. Der DB-Connect_teil steht auch in dieser Datei.

PHP:
include ('//Pfad zur Datei, in der die Datenbankdaten stehen');

Danach wird überprüft ob in der URL die Variable "start" übergeben wird, in der steht, welche News angezeigt werden sollen (start=10 -> Anfang bei Nachricht Nr. 10)

PHP:
if(!$_GET[start]){
$_GET[start] = "0";
}

Nun folgt der mysql-Teil, indem die News aus der Datenbank abgefragt werden (mysql-Abfrage und in einem Query speichern):

PHP:
$abfrage = "SELECT name, datum, news, autor FROM news ORDER BY nummer desc LIMIT ".$_GET[start].",10"; //10 News pro Seite
$result = mysql_query($abfrage,$conn);

Jetzt folgt die Ausgabe der Daten in einer HTML-Tabelle...:

PHP:
echo "<table border=\"0\" width=\"100%\">";

...über eine WHILE-Schleife, die solange läuft bis alle Daten aus der Abfrage ausgegeben wurden:

PHP:
while ($row = mysql_fetch_array($result)) {

Variablen aus der while-Schleife werden umbenannt (nicht zwingend nötig):

PHP:
$betreff = $row["name"];
$datum = $row["datum"];
$beitrag = nl2br($row["news"]);
$autor = $row["autor"];

echo "<tr>";
echo "<td class=headline>"; //Style ist in externer CSS-Datei festgelegt
echo $betreff; //Variable wird ausgegeben
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td class=text_index>";
echo "Autor: ".$autor." | Datum: ".$datum."</td></tr>";
echo "<tr>";
echo "<td class=text>";
echo $beitrag;
echo "</td>";
echo "</tr><tr><td><hr></td></tr>";
} // WHILE-Schleife ist zuende

echo "</table>"; // Tabellen Tag wird geschlossen.

Nun werden die Daten ermittelt, die nötig sind um den "Ältere News" -und "Neuere News"-Link auszugeben:

$max = mysql_num_rows(MYSQL_QUERY("SELECT * FROM news"));
$neuer = $_GET[start]-10;
$aelter = $_GET[start]+10;
$first = $_GET[start]+1;
$last = $first+10-1;
if($last > 1){
$last = "1";}

Der "Blättern-Teil" wird ausgegeben:

PHP:
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20%">
<? if($_GET[start] > "0")
{
?>
<div align="left"><a href="index_2.php?start=news&start=<? echo $neuer ?>&titel=News%20von%20<? echo $first+10 ?>-<? echo $last+10 ?>">&#171;</a></div>
<?
} ?>
</td>
<td width="57%"></td>
<td width="23%">
<?
if($max > $_GET[start]+10)
{
?>
<div align="right"><a href="index_2.php?site=news&start=<? echo $aelter ?>&titel=News%20von%20<? echo $first+10 ?>%20-%20<? echo $last+10 ?>">&#187;</a></div>
<?
}
?></td>
</tr>
</table>

Die SQL-Tabelle sieht folgendermaßen aus:

nummer | name | datum | news | autor

nummer: auto_ecriment; Primärschlüssel (ID: die Nummer der Nachricht)
name: Name der Neugikeit
datum: Datum, an dem die Neuigkeit verfasst wurde.
news: Nachricht
autor: der, der die Nachricht schrieb

Bewertung Anzahl
6
66,7 %
2 Bewertungen
5
33,3 %
1 Bewertungen