door een MySQL tabel bladeren
Ik heb nu een simpel gatenboek gemaakt met een MySQL tabel er achter. Ik heb er een kolom id in staan dit is met Auto-increment. Als ik er soms ongewenste invoers wis gaat de Auto-increment gewoon verder.
bv.
id=9
id=10 (Wissen)
id=11 (de volgende invoer weer.) Het probleem is dat ik in het begin gewwon van het id nummer uitging om dan 5 berichten per keer te laten zien. Maar nu er getallen missen bij id. Lukt dit niet meer. Wie weet hoe ik nu 5 berichten per keer kan laten zien?
mvgr Bram
SELECT * FROM GASTENBOEK LIMIT [start],[aantal].
Plaats even het gedeelte van je code wat je nu gebruikt voor het limiten.
Grtz,
Arend
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$max=$_GET['max']
$min=$max-5;
$berichten_query = mysql_query ("
SELECT afzender, datum, bericht, mail, url
FROM gastenboek
WHERE id>$max AND id<$min
ORDER by id desc
");
while ($record=mysql_fetch_assoc($berichten_query)) {
//laat gastenboek zien
}
?>
$max=$_GET['max']
$min=$max-5;
$berichten_query = mysql_query ("
SELECT afzender, datum, bericht, mail, url
FROM gastenboek
WHERE id>$max AND id<$min
ORDER by id desc
");
while ($record=mysql_fetch_assoc($berichten_query)) {
//laat gastenboek zien
}
?>
Zoiets zag mijn code er uit voor het limiteren ik weet het niet precies meer want ik ben er mee aan het prusten geweest.
Gr bram
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$aantal = 5;
$max=$_GET['max'];
$offset = $max-$aantal;
$berichten_query = mysql_query ("
SELECT afzender, datum, bericht, mail, url
FROM gastenboek
ORDER by DATUM desc
LIMIT $offset, $aantal
");
$aantal = 5;
$max=$_GET['max'];
$offset = $max-$aantal;
$berichten_query = mysql_query ("
SELECT afzender, datum, bericht, mail, url
FROM gastenboek
ORDER by DATUM desc
LIMIT $offset, $aantal
");
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$begin=$_GET['begin'];
if ($begin=="") {
$begin="0";
}
else { }
$berichten_query = mysql_query("
SELECT id, afzender, datum, bericht, mail, url
FROM gastenboek
ORDER by id desc
LIMIT $begin, 3;
");
while ($record = mysql_fetch_assoc($berichten_query)) {
// laat gastenboek zien
$begin=$record[id]; // onthoeud de laatste row
} //einde while
//begin gastenboek
if ($begin>0) {
echo "<a href=\"index.php?page=gboek&begin=$begin\">Volgende berichten.</a>";
}
?>
$begin=$_GET['begin'];
if ($begin=="") {
$begin="0";
}
else { }
$berichten_query = mysql_query("
SELECT id, afzender, datum, bericht, mail, url
FROM gastenboek
ORDER by id desc
LIMIT $begin, 3;
");
while ($record = mysql_fetch_assoc($berichten_query)) {
// laat gastenboek zien
$begin=$record[id]; // onthoeud de laatste row
} //einde while
//begin gastenboek
if ($begin>0) {
echo "<a href=\"index.php?page=gboek&begin=$begin\">Volgende berichten.</a>";
}
?>
Dit laat allen de drie "verste" invoers zien.
Wie weet mischien hoe ik dit kan oplossen?
mvgr bram
desc weghalen?
Gr bram
SELECT id, afzender, datum, bericht, mail, url
FROM gastenboek
ORDER by id desc
LIMIT $begin, 3
wordt dan dus:
SELECT id, afzender, datum, bericht, mail, url
FROM gastenboek
ORDER by id
LIMIT $begin, 3
Sorry hoor maar hij doet nog steeds niet :'(
http://members.lycos.nl/sjitstam/index.php?page=gboek
Dit is de url voor mijn gatenboek. Het getal achter volgende berichten geeft de $begin=$record[id]; aan. Ik kan ook wel even mijn hele script laten zien, mischien is dat wat duidlijker.
Gr bram