Hi, ich lerne gerade PHP und MySQL mit dem Buch "PHP und MySQL für Kids"^^
Is n gutes Buch, aber ich habe ein paar Fragen zu einem Teil:
Also, ich bin im Kapitel, in dem man ein einfaches CMS bastelt. Bei mir funktioniert es auch soweit. Hier mal der Code:
Also 1.:
Kann mir einer das mit dem $start und $step noch mal genau erklären? Das verwirrt mich momentan noch irgendwie. Also oben versteh ich es noch, da ist $start bei 0 und $step bei 2. Er soll also bei 0 Anfangen und 2 auflisten, so steht es ja in $sql2
Bloß ab diesem Teil verwirrt es mich:
Da blick ich einfach nicht mehr durch.
2.: Eine "Aufgabe" in dem Buch, ist es, das gleiche wie gerade (also das mit den älteren Beiträgen anzuzeigen) mit neueren Beiträgen zu machen.
Habe es so versucht:
Aber das funktioniert nur, wenn es mehr als 4 Beiträge oder so gibt, und das ist ja eigentlich nicht so toll^^
3. Is jetzt ein bisschen Offtopic, aber ich möchte für so was kein neuen Thread öffnen:
In dem Code ist das hier:
Damit kann man ja nicht nur prüfen, ob Zahlen enthalten sind. Sondern auch, ob irgendetwas anderes 'vorhanden' ist (oder?)
Aber wie heißt so was? Und wie setzt sich das zusammen?
Danke schon mal für eure Hilfe
Lg
Dennis
Is n gutes Buch, aber ich habe ein paar Fragen zu einem Teil:
Also, ich bin im Kapitel, in dem man ein einfaches CMS bastelt. Bei mir funktioniert es auch soweit. Hier mal der Code:
PHP:
<?php
include ("edit/zugriff.inc.php");
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Unser CMS</title>
<style type="text/css">
body {
background: gray;
}
#wrapper {
width: 900px;
border: solid 1px;
background-color: white;
padding: 10px;
}
h1 {
background: gray;
color: white;
}
</style>
</head>
<body>
<div id="wrapper">
<h1>Unser Webtagebuch</h1>
<div>[ <a href="index.php">Home</a> ]</div>
<?php
$start = 0; //Startwert setzen (0 = 1. Zeile)
$step = 2; // Wie viele Einträge gleichzeitig?
$muster = "/^[0-9]+$/"; //reg. Ausdruck für Zahlen
//Startwert verändern
if (isset($_GET['start'])) {
if (preg_match($muster, $_GET['start']) == 0) {
$start = 0; //Bei Manipulation Rückfall auf 0
} else {
$start = $_GET['start'];
}
}
$sql1 = "SELECT * FROM cms";
$sql2 = "SELECT * FROM cms ORDER BY id DESC LIMIT $start, $step";
$result1 = mysql_query($sql1);
$zeilen = mysql_num_rows($result1);
$result2 = mysql_query($sql2);
echo "<p>Anzahl der Einträge: $zeilen</p>\n";
//while-Schleife Anfang
while ($row = @mysql_fetch_assoc($result2)) {
$Eintrag = nl2br($row['Eintrag']);
//Einträge anzeigen
echo "<h3>$row[Headline]</h3>\n" . "<p>$Eintrag</p>" . "<div><small>eingetragen von <b>$row[Name]</b> " . "am <strong>$row[Datum]</strong></small></div><br><br>\n";
} //while-Ende
//Link zu älteren Einträgen einblenden
$start = $start + $step;
echo "<p>";
if ($start < $zeilen) { // if-Anfang
echo "[ <a href=\"index.php?start=$start\"> << Ältere Einträge</a> ]";
}
echo "[ <a href='#wrapper'>nach oben</a> ] </p>\n";
mysql_close();
?>
</body>
</html>
Kann mir einer das mit dem $start und $step noch mal genau erklären? Das verwirrt mich momentan noch irgendwie. Also oben versteh ich es noch, da ist $start bei 0 und $step bei 2. Er soll also bei 0 Anfangen und 2 auflisten, so steht es ja in $sql2
Bloß ab diesem Teil verwirrt es mich:
PHP:
//Link zu älteren Einträgen einblenden
$start = $start + $step;
echo "<p>";
if ($start < $zeilen) { // if-Anfang
echo "[ <a href=\"index.php?start=$start\"> << Ältere Einträge</a> ]";
}
2.: Eine "Aufgabe" in dem Buch, ist es, das gleiche wie gerade (also das mit den älteren Beiträgen anzuzeigen) mit neueren Beiträgen zu machen.
Habe es so versucht:
PHP:
if ($start > $step && $start <= $zeilen) {
$neuer = $_GET['start'];
$neuer = $neuer - $step;
echo "[ <a href=\"index.php?start=$neuer\"> Neuere Einträge</a> >> ] ";
}
3. Is jetzt ein bisschen Offtopic, aber ich möchte für so was kein neuen Thread öffnen:
In dem Code ist das hier:
PHP:
$muster = "/^[0-9]+$/"; //reg. Ausdruck für Zahlen
Aber wie heißt so was? Und wie setzt sich das zusammen?
Danke schon mal für eure Hilfe
Lg
Dennis