ALs die thread minder dan 10 replies bevat komt er onder in beeld niet te staan: "dit bericht bevat uit 2 pagina's" ofzo.
bij minder dan 10 schrijft hij die hele variabele niet in de querystring.
er staat dan alleen: asda/asdas/asd/?bericht=110
Pas als het bericht uit meer dan 10 reacties bestaat, komt er onderin beeld een link. Dit bericht bestaat uit 4 pagina's:
1 2 3 4
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <?
$aantalrecords = mysql_num_rows($result);
IF (ceil($aantalrecords/10)>1)
{
echo "<td><A HREF=\"newtopic.php?bericht=".$bericht."\">Plaats een reactie</A></td><td width=\"100%\" align=\"right\"><A>Dit bericht is ".ceil($aantalrecords/10)." pagina's lang. Pagina:</A>";
for ($i = 1; $i <= (ceil($aantalrecords/10)); $i++)
{
echo "<A HREF=\"?bericht=".$bericht."&startfrom=".($i*10-10)."\">$i</A><A>&nbsp;</A>";
}
echo "</td>";
}
ELSE
{
echo "<td colspan=2><A HREF=\"newtopic.php?bericht=".$bericht."\">Plaats een reactie</A></td>";
}
?> |
Maar ik dwaal af

Het gaat er dus om dat die variabele niet altijd geset is. Dus wil ik dat php eerst kijkt of die variabele geset is. Zo niet dan moet hij geset worden en nul (0) worden.
in de SQL gebruikt ik dan
code:
1
2
3
4
5
6
7
8
9
10
| $beginop = $HTTP_GET_VARS["startfrom"];
$result = mysql_query("
SELECT tblForumReply.ReplyTekst, tblForumUser.UserID, tblForumUser.UserNickName, tblForumUser.UserHTTP,
tblForumUser.UserOndertitel, tblForumUser.UserSignature, tblForumUser.UserICQ, DATE_FORMAT(tblForumReply.ReplyDateTime, '%W %e %b %Y - %H:%i') AS lastpost
FROM tblForumReply
INNER JOIN tblForumUser ON tblForumReply.ReplyPoster = tblForumUser.UserID
WHERE tblForumReply.ReplyTo = $bericht
ORDER BY tblForumReply.ReplyDateTime
LIMIT $beginop,10;")
or die ("Sorry, er is een fout opgetreden met de database. Probeer het later nog eens"); |
maar volgens mijn lieve pc'tje is $startfrom dus nooit geset... Is het misschien een gereserveerd woord ofzo