Avatar billede dj-dos Nybegynder
14. oktober 2001 - 16:58 Der er 7 kommentarer og
1 løsning

Gæstebog med side-opdeling

Jeg er ved at bixe en gæstebog sammen i PHP. (Jeg er rimelig meget nybegynder!)

Jeg vil lave den sådan den opdeler indlæggene i flere sider, med 10 indlæg på hver side. jeg har fundet/redigeret denne kildekode:

gb.php
------------------
<h1 align=\"center\">G&aelig;stebog!</h1>
<form action=\"gbreg.php\" METHOD=\"POST\">
<INPUT TYPE=\"hidden\" NAME=\"check\" VALUE=\"dummy\">
<table border=\"0\" align=\"center\">
<tr><td>
<b>Dit navn:</b></td><td><b>Din e-mail:</b></td></tr>
<tr><td><input name=\"navn\" maxlength=\"255\" size=\"25\" value=\"\"></td>
<td><input name=\"email\" maxlength=\"255\" size=\"25\" value=\"\"></td></tr>
<tr><td colspan=\"2\"><b>Din Kommentar:</b></td></tr>
<tr><td colspan=\"2\"><textarea name=\"kommentar\" rows=\"5\" cols=\"52\" class=\"input\"></textarea></td></tr>
<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Gem kommentar\">  <input type=\"reset\" value=\"Reset\">
</table>

<table>
<?php

include (\"include.php\");

$limit=10;

$numresults=mysql_db_query($dbname, \"SELECT * FROM guestbook WHERE id\", $connection);

(linie 23) $numrows=mysql_num_rows($nemresults);

if (empty($offset)) {
$offset=0;
}

(linie 29)$result = mysql_db_query(\"SELECT * FROM guestbook WHERE id LIMIT $offset,$limit\");

$pages=intval($numrows/$limit);
if ($numrows%$limit) {
$pages++;
}

echo \"Side [\";

for ($i=1;
$i<=$pages;
$i++) {
$newoffset=$limit*($i-1);

if ($offset==$newoffset) {
echo(\"<b>$i</b>\\n\");
} else {

echo \"<a href=\'gb.php?offset=$newoffset\'>$i</a>\";
}
}
echo \"]<br>\";

?>

DATA
</table>

include.php
----------------
$dbhost = \"localhost\";
$dbname = \"noget\";
$dbuser = \"noget\";
$dbpasswd = \"noget\";

$connection = mysql_connect($dbhost,$dbuser,$dbpasswd);

Når jeg kører filen siger den denne fejl:

Warning: Supplied argument is not a valid MySQL result resource in sti\\gb.php on line 23

Warning: Wrong parameter count for mysql_db_query() in sti\\gb.php on line 29

Kan du hjælpe med at få det til at virke???

// Dj-dos
Avatar billede fri-hash Nybegynder
14. oktober 2001 - 17:04 #1
$numresults=mysql_db_query($dbname, \"SELECT * FROM guestbook WHERE id\", $connection);

(linie 23) $numrows=mysql_num_rows($nemresults);

nemresults vs numresults
Avatar billede fri-hash Nybegynder
14. oktober 2001 - 17:08 #2
(\"SELECT * FROM guestbook WHERE id LIMIT $offset,$limit\");

where uden betingelse?

ikke sikker, men ser ud som om \" WHERE id \" er overflødigt
Avatar billede dj-dos Nybegynder
14. oktober 2001 - 17:11 #3
tak.... (Jeg ER nybegynder!!!(jeg startede her for en uge siden..))

Og så vil jeg gerne have et forslag til hvordan jeg indsætter gæstebogens indhold på siden.

//dj-dos
Avatar billede fri-hash Nybegynder
14. oktober 2001 - 17:24 #4
$result = mysql_query(\"DEN STATEMENT DER HENTER DET DU VIL VISE\");

while ($row = mysql_fetch_array($result)) {     //så længe der er endnu et resultat:
echo $row[\"KOLONNENAVN\"];
echo $row[\"NÆSTE KOLONNENAVN\"];
}

der skal selvfølgelig smides noget html ind til at styre at det hele ikke bare bliver skrevet ud i en lang linie
Avatar billede dj-dos Nybegynder
14. oktober 2001 - 17:34 #5
Fejl:
Warning: Supplied argument is not a valid MySQL result resource in sti\\gb.php on line 52

Kildekode:
<?php

include (\"include.php\");

$limit=10;

$numresults=mysql_db_query($dbname, \"SELECT * FROM guestbook\", $connection);

$numrows=mysql_num_rows($numresults);

if (empty($offset)) {
$offset=0;
}

$result = mysql_db_query(\"SELECT * FROM guestbook LIMIT $offset,$limit\", $connection);

$pages=intval($numrows/$limit);
if ($numrows%$limit) {
$pages++;
}

echo \"Side [\";

for ($i=1;
$i<=$pages;
$i++) {
$newoffset=$limit*($i-1);

if ($offset==$newoffset) {
echo(\"<b>$i</b>\\n\");
} else {

echo \"<a href=\'gb.php?offset=$newoffset\'>$i</a>\";
}
}
echo \"]<br>\";

(linie 52) while ($row = mysql_fetch_array($result)) {
echo $row[\"navn\"];
echo $row[\"email\"];
}

?>

Jeg vil gerne vide om det virker med sideopdelingen!??
Avatar billede fri-hash Nybegynder
14. oktober 2001 - 17:51 #6
fejlmeddelelsen tyder på fejl i sqlstatement - hvilken linie er 52?

hvis du vil skrive htmlkoder i din phpfil
<?php
if
else
$variable
og andet phpkode
?>
<h1>her er html</h1>
<br><a href=\"whatever.html\">link</a>
<?php
her skriver du videre i php
?>
Avatar billede dj-dos Nybegynder
15. oktober 2001 - 16:02 #7
mange tak, nu har jeg fået det til at virke!!
Avatar billede fri-hash Nybegynder
15. oktober 2001 - 23:48 #8
glad for at ku\' hjælpe - takker for points :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester