Hier möchte ich euch nun eine rudimentäre, einfache Art veranschaulichen.
Als Erstes wird eine config.php erstellt, die die benötigte SQL-Tabelle erstellt.
Das kann man, wenn vorhanden, natürlich auch mit PHPmyAdmin machen.
Zuerst die Zugriffsdaten einbinden und die Verbindung herstellen:
PHP-Code:
<?php
require('mysql.inc.php');
$dz = mysql_connect($host, $user, $pass);
mysql_select_db($database, $dz);
?>
Dann erstellen wir mal die Tabelle:
PHP-Code:
mysql_query
("
CREATE TABLE substring_test
(
id int(255) auto_increment,
header varchar(255),
text text,
PRIMARY KEY (id)
)
ENGINE = MyIsam;
") or DIE(mysql_error()); //Gibt eine Fehlermeldung aus, wenn die Tabelle bereits besteht
PHP-Code:
<?php
require('mysql.inc.php');
$dz = mysql_connect($host, $user, $pass);
mysql_select_db($database, $dz);
mysql_query
("
CREATE TABLE substring_test(
id int(255) auto_increment,
header varchar(255),
text text,
PRIMARY KEY (id)
)
ENGINE = MyIsam;
") or DIE(mysql_error());
?>
PHP-Code:
<?php
$host = "localhost";
$user = "root";
$pass = "";
$database = "test";
?>
Soweit, sogut! Die Tabelle sollte erstellt sein. Nun fügt ihr Daten in die Tabelle ein (Überschrift/Inhalt), entweder via PHPmyAdmin oder Formular. Zu diesem Thema möchte ich hier nichts weiter anfügen, da es euch vermutlich klar ist, wie das funktioniert.
Beginnen wir mit dem Script zur Abfrage der Daten!
Am Anfang die Fehlerunterdrückung/Fehleranzeige:
Während der Entwicklung sollte die am Besten so ausschauen:
PHP-Code:
error_reporting( E_ALL | E_STRICT );
ini_set( 'display_errors', 1);
um dem Benutzer eventuelle Warnungen zu ersparen:
PHP-Code:
error_reporting(0);
PHP-Code:
require('mysql.inc.php');
Nun brauchen wir Übergabeparameter, damit das Script weiß, welcher Eintrag in der Datenbank gemeint ist. Das machen wir mit einer einfachen $_GET Variable.
PHP-Code:
$id = $_GET['id'];
Dazu verwenden wir eine if Anweisung:
PHP-Code:
if (isset($_GET['id']) && (!is_numeric($_GET['id'])))
{ //Wenn die id, falls übergeben, keine Nummer ist...
echo "Kein Eintrag!<br>";
exit; //...wird das Script an der Stelle abgebrochen
}
PHP-Code:
<?php
error_reporting( E_ALL | E_STRICT );
ini_set( 'display_errors', 1);
require('mysql.inc.php');
if (isset($_GET['id']) && (!is_numeric($_GET['id'])))
{
echo "Kein Eintrag!<br>";
exit;
}
?>
HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Untitled Document</title> </head> <body>
wo der HTML-formatierte Teil beginnt

Ab jetzt muss unterschieden werden, ob eine id übergeben wurde.
Wenn nicht, werden alle Überschriften mit dem ersten Textteil ausgegeben,
hier die jeweils ersten 50 Zeichen. Dazu kommt immer der Mehr-Link,
der auf die selbe PHP-Datei leitet, allerdings dann mit id.
PHP-Code:
if(!isset($_GET['id']))
{
$query = "SELECT * FROM substring_test";
$sql = mysql_query($query);
while($ds = mysql_fetch_object($sql))
{
echo "<h3>" . $ds->header . "</h3>" . substr($ds->text,0,50) .
"<a href='" . $_SERVER['PHP_SELF'] . "?id=" . $ds->id . "'>[MEHR...]</a><br>";
}
}
Diese Funktion kürzt einen Eintrag nach belieben.
PHP-Code:
substr('DEINTEXT', start_bei, ende_bei)
//start_bei: z.B. 0 - ab Beginn des Eintrags
//ende_bei: z.B. 50 - 50 Zeichen nehmen
Ihr erinnert euch an den "MEHR..." Link?
PHP-Code:
"<a href='" . $_SERVER['PHP_SELF'] . "?id=" . $ds->id . "'>[MEHR...]</a><br>"
Jetzt also der Fall, wenn eine id übergeben wurde:
PHP-Code:
else //if !isset...
{
$query = "SELECT * FROM substring_test WHERE id = " . trim($_GET['id']);
$sql = mysql_query($query);
while($ds = mysql_fetch_object($sql))
{
echo "<h3>" . $ds->header . "</h3>" . $ds->text;
echo "<br><a href='javascript:history.back()'>Zurück</a>";
exit;
}
}
PHP-Code:
<?php
error_reporting( E_ALL | E_STRICT );
ini_set( 'display_errors', 1);
require('mysql.inc.php');
if (isset($_GET['id']) && (!is_numeric($_GET['id'])))
{
echo "Kein Eintrag!<br>";
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
</head>
<body>
<?php
if(!isset($_GET['id']))
{
$query = "SELECT * FROM substring_test";
$sql = mysql_query($query);
while($ds = mysql_fetch_object($sql))
{
echo "<h3>" . $ds->header . "</h3>" . substr($ds->text,0,50) .
"<a href='" . $_SERVER['PHP_SELF'] . "?id=" . $ds->id . "'>[MEHR...]</a><br>";
}
}
else
{
$query = "SELECT * FROM substring_test WHERE id = " . trim($_GET['id']);
$sql = mysql_query($query);
while($ds = mysql_fetch_object($sql))
{
echo "<h3>" . $ds->header . "</h3>" . $ds->text;
echo "<br><a href='javascript:history.back()'>Zurück</a>";
exit;
}
}
?>
</body>
</html>
Bis bald
Euer Newcomer1!



Bereiche
Kategorien
Forum - Programming
tutorials.de-Systemmitteilung