Gastenboek - gegevens ophalen uit DTBS
Ik ben zelf een gastenboek aan het maken, maar ik stuit op een probleem.
Bij het ophalen van de gegevens, wat overigens nu wel goed lukt, kan ik de berichten niet achter elkaar laten opvolgen.
Ik mis gewoon een stuk code, de code om meerdere berichten te laten zien als die er zijn.
Dit heb ik tot nu toe:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query = mysql_query("SELECT ID,Naam,Bericht FROM gastenboek ORDER BY ID DESC LIMIT 10");
$rij = mysql_fetch_object($query);
$ID = htmlspecialchars($rij->ID);
$Naam = htmlspecialchars($rij->Naam);
$Bericht= htmlspecialchars($rij->Bericht);
echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.ucfirst($Naam).'</p></div><div id="TEKSTBODY"><br><p>'.ucfirst($Bericht).'</p><br></div></div><br><br>'
?>
$query = mysql_query("SELECT ID,Naam,Bericht FROM gastenboek ORDER BY ID DESC LIMIT 10");
$rij = mysql_fetch_object($query);
$ID = htmlspecialchars($rij->ID);
$Naam = htmlspecialchars($rij->Naam);
$Bericht= htmlspecialchars($rij->Bericht);
echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.ucfirst($Naam).'</p></div><div id="TEKSTBODY"><br><p>'.ucfirst($Bericht).'</p><br></div></div><br><br>'
?>
De divs zijn heel belangrijk, dit is namelijk voor mijn opmaak.
Het is dan ook mijn bedoeling om elke keer bij elk bericht opnieuw de echo uit te laten voeren. (tot een maximale aantal berichten van 10)
Kan iemand mij hiermee helpen?
Wat jij zoekt is een while() loop
Edit:
Lees de code goed door en neem het mee voor volgende keer.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?PHP
# Errors weergeven
error_reporting(E_ALL);
# Query uitvoeren
$Query =
"
SELECT
ID,
Naam,
Bericht
FROM
gastenboek
ORDER BY
ID
DESC
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout in query
echo 'Foutje opgetreden: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten
echo 'Er staan geen resultaten in de database.';
}
else
{
# While loop uitvoeren om gegevens te laten zien
while($Row = mysql_fetch_assoc($Result))
{
# Doe hier wat met je div en laat het bijvoorbeeld zien met $Row['ID']
}
}
}
?>
# Errors weergeven
error_reporting(E_ALL);
# Query uitvoeren
$Query =
"
SELECT
ID,
Naam,
Bericht
FROM
gastenboek
ORDER BY
ID
DESC
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout in query
echo 'Foutje opgetreden: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten
echo 'Er staan geen resultaten in de database.';
}
else
{
# While loop uitvoeren om gegevens te laten zien
while($Row = mysql_fetch_assoc($Result))
{
# Doe hier wat met je div en laat het bijvoorbeeld zien met $Row['ID']
}
}
}
?>
Lees de code goed door en neem het mee voor volgende keer.
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
Ik heb dus een while() loop nodig, hoe maak ik die dan?
Edit:
Ik raad je ook aan om Htmlentities te gaan gebruiken als je de naam en het bericht laat zien
-> http://php.net/manual/en/function.htmlentities.php
Ik raad je ook aan om Htmlentities te gaan gebruiken als je de naam en het bericht laat zien
-> http://php.net/manual/en/function.htmlentities.php
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
In mijn echo geeft mijn host het volgende error:
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/a6972826/public_html/GBBerichten2.php on line 161
De error staat in:
Code (php)
1
<? php echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '$Row['Naam']'</p></div><div id="TEKSTBODY"><br><p>'$Row['Bericht']'</p><br></div></div><br><br>' ?>
Wat zou ik moeten aanpassen?
Naar:
'.$Row['Naam'].'
Ik heb het veranderd naar:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?PHP
# Errors weergeven
error_reporting(E_ALL);
# Query uitvoeren
$Query =
"
SELECT
ID,
Naam,
Bericht
FROM
gastenboek
ORDER BY
ID
DESC
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout in query
echo 'Foutje opgetreden: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten
echo 'Er staan geen resultaten in de database.';
}
else
{
# While loop uitvoeren om gegevens te laten zien
while($Row = mysql_fetch_assoc($Result))
{
echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.$Row['Naam'].'</p></div><div id="TEKSTBODY"><br><p>'.$Row['Bericht'].'</p><br></div></div><br>'
;}
}
}
?>
# Errors weergeven
error_reporting(E_ALL);
# Query uitvoeren
$Query =
"
SELECT
ID,
Naam,
Bericht
FROM
gastenboek
ORDER BY
ID
DESC
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout in query
echo 'Foutje opgetreden: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten
echo 'Er staan geen resultaten in de database.';
}
else
{
# While loop uitvoeren om gegevens te laten zien
while($Row = mysql_fetch_assoc($Result))
{
echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.$Row['Naam'].'</p></div><div id="TEKSTBODY"><br><p>'.$Row['Bericht'].'</p><br></div></div><br>'
;}
}
}
?>
Dan weet je namelijk zeker dat er goed wordt gesorteerd.
Maak een veld in je database aan met Datetime, dan kan je bij het inserten NOW() gebruiken.