Ik wil 1 webpagina hebben waar ik links een menu heb en rechts tekst. Die tekst wil ik uit een database halen.
Elke keer als je op een andere link klikt moet er rechts een andere text komen die uit een database is gehaald.
$query = "SELECT titel, content FROM content WHERE titel_kort = '".$pagina."'";
$resultaat = mysql_query($query);
if($resultaat && mysql_num_rows($resultaat) == 1)
{
$rij = mysql_fetch_array($resultaat);
$titel = stripslashes($rij['titel']);
$content = stripslashes($rij['content']);
}else{
$titel = 'Sorry...';
$content = '<p>...ik heb mijn best gedaan maar kon de door u opgevraagde pagina niet in mijn database vinden!</p>';
}
?>
Opzet is:
<?php
// Als $pid een getal is, dan die gebruiken, anders gewoon 1 gebruiken
$pid = is_int($_GET['id']) ? $_GET['id'] : 1;
// De query om de juiste pagina op te halen
$sql = "SELECT titel, content FROM pages WHERE id = " . $pid . " LIMIT 1;";
// De query uitvoeren
$res = mysql_query($sql) or trigger_error(mysql_error());
// De resultaten in een array zetten
$row = mysql_fetch_assoc($res);
// De titel en de content op het scherm zetten, nl2br zet de \r\n om in <br />
echo $row['titel'].'<br />'.nl2br($row['content']);
?>
Je tabel ziet er dan bijvoorbeeld zo uit:
+++++++++++++++++++++++++
+id+titel +content +
+++++++++++++++++++++++++
+1+Welkom+Welkom op mijn pagina+
+++++++++++++++++++++++++
+2+Page 2 +Welkom op pagina nr 2 +
+++++++++++++++++++++++++
Edit
Menu gaat dan zo:
<a href="index.php?id=1">Home</a><br />
<a href="index.php?id=2">Pagina 2</a>
Zoals Arjan doet kan ook, dan ga je alleen uit van de titel, wat ik zelf niet prettig vind werken...
Erg bedankt voor de tip! maar alleen pagina 1 doet het weet iemand wat ik fout doe?
alvast bedankt!
dit heb ik ingevuld:
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php
$db = mysql_connect("localhost", "root")
or die("kan niet verbinden: " . mysql_error());
mysql_select_db("colourdes", $db);
// Als $pid een getal is, dan die gebruiken, anders gewoon 1 gebruiken
$pid = is_int($_GET['id']) ? $_GET['id'] : 1;
// De query om de juiste pagina op te halen
$sql = "SELECT titel, content FROM text WHERE id = " . $pid . " LIMIT 1;";
// De query uitvoeren
$res = mysql_query($sql) or trigger_error(mysql_error());
// De resultaten in een array zetten
$row = mysql_fetch_assoc($res);
// De titel en de content op het scherm zetten, nl2br zet de \r\n om in <br />
echo $row['titel'].'<br />'.nl2br($row['content']);
echo "<br>";
echo "<a href=\"uitlezen.php?id=1\">Home</a><br />";
echo "<a href=\"uitlezen.php?id=2\">Pagina 2</a>";
mysql_close($db);
?>
Heel simpel ;)
$_GET['id'] kan nooit een int zijn want het is altijd een str
je moet het dan checken met is_numeric.
(ik weet niet of dit waar is, maar met is_numeric werkt het wel!)