Gastenboek met navigatie
Speedy - 30/01/2005 18:06
PHP interesse
Mijn gastenboekscript is:
<?PHP
include("config.php");
mysql_connect("$db_host","$db_user","$db_psw");
mysql_select_db("$db_name");
$select = "SELECT * FROM gastenboek ORDER BY id DESC";
$query = mysql_query($select);
$records = mysql_num_rows($query);
echo " <a href=\"index.php?p=toevoegen\">>> Gastenboek tekenen</a>";
echo "<p>Er zijn al <b><font color=#FF0000>$records</font></b> berichten toegevoegd!</p>";
while ($list = mysql_fetch_object($query)) {
echo "<p><table>";
echo "<tr><td width=125><b>Naam:</b></td><td>$list->auteur</td></tr>";
echo "<tr><td width=125><b>E-mail:</b></td><td>$list->email</td></tr>";
echo "<tr><td valign=top width=50><b>Bericht:</b></td><td>$list->bericht</td></tr>";
echo "<tr><td width=125><b>Toegevoegd op:</b></td><td><font color=#FF0000>$list->datum - $list->tijd</font></td></tr>";
echo "</table></p><br><hr size=1 color=#006699 width=100%>";
}
?>
<?PHP
include ( "config.php" ) ;
$select = "SELECT * FROM gastenboek ORDER BY id DESC" ;
echo " <a href=\" index.php?p=toevoegen\" >>> Gastenboek tekenen</a>" ; echo "<p>Er zijn al <b><font color=#FF0000>$records </font></b> berichten toegevoegd!</p>" ;
echo "<tr><td width=125><b>Naam:</b></td><td>$list->auteur </td></tr>" ; echo "<tr><td width=125><b>E-mail:</b></td><td>$list->email </td></tr>" ; echo "<tr><td valign=top width=50><b>Bericht:</b></td><td>$list->bericht </td></tr>" ; echo "<tr><td width=125><b>Toegevoegd op:</b></td><td><font color=#FF0000>$list->datum - $list->tijd </font></td></tr>" ; echo "</table></p><br><hr size=1 color=#006699 width=100%>" ; }
?>
Mijn navigatiecode is:
<?
$page = (!isset($_GET['page'])) ? 1 : $_GET['page'];
//aantal records per pagina
$max = 20;
$start = ($max * $page) - $max;
//hier je gegevens van je mysql ophalen
while($var = mysql_fetch_array(mysql_query("SELECT * FROM gastenboek ORDER BY id LIMIT " . $start . ", " . $max . ""))) {
echo $var['id'];
}
//hier aan jou mysql gegevens aanpassen
$rows = mysql_result(mysql_query("SELECT COUNT(id) FROM gastenboek ORDER BY id"),0);
$pages = ceil($rows / $max);
if ($page > 1) {
$previous = $page - 1;
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $previous . "\"><<</a> ";
}
for ($i = 1; $i <= $pages; $i++) {
if ($page == $i) {
if ($i == $pages) {
echo "<b>" . $i . "</b> ";
} else {
echo "<b>" . $i . "</b>, ";
}
} else {
if ($i == $pages) {
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "\">" . $i . "</a> ";
} else {
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "\">" . $i . "</a>, ";
}
}
}
if ($page < $pages) {
$next = $page + 1;
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $next . "\">>></a>";
}
?>
<?
$page = ( ! isset ( $_GET [ 'page' ] ) ) ?
1 : $_GET [ 'page' ] ; //aantal records per pagina
$max = 20 ;
$start = ( $max * $page ) - $max ;
//hier je gegevens van je mysql ophalen
}
//hier aan jou mysql gegevens aanpassen
$pages = ceil ( $rows / $max ) ; if ( $page > 1 ) {
$previous = $page - 1 ;
echo "<a href=\" " . $_SERVER [ 'PHP_SELF' ] . "?page=" . $previous . "\" ><<</a> " ; }
for ( $i = 1 ; $i <= $pages ; $i ++ ) {
if ( $page == $i ) {
if ( $i == $pages ) {
echo "<b>" . $i . "</b> " ; } else {
echo "<b>" . $i . "</b>, " ; }
} else {
if ( $i == $pages ) {
echo "<a href=\" " . $_SERVER [ 'PHP_SELF' ] . "?page=" . $i . "\" >" . $i . "</a> " ; } else {
echo "<a href=\" " . $_SERVER [ 'PHP_SELF' ] . "?page=" . $i . "\" >" . $i . "</a>, " ; }
}
}
if ( $page < $pages ) {
$next = $page + 1 ;
echo "<a href=\" " . $_SERVER [ 'PHP_SELF' ] . "?page=" . $next . "\" >>></a>" ; }
?>
Hoe voeg ik dat samen?
4 antwoorden
Gesponsorde links
Addow - 30/01/2005 19:46 (laatste wijziging 01/02/2005 09:21)
PHP beginner
Ik heb er eens wat aan gesleuteld, en normaal moet dit correct zijn... ik had wel geen tabellenoverzicht van je gekregen, maar peis wel dat 't zo goed zit:
<?
include("config.php");
mysql_connect("$db_host","$db_user","$db_psw");
mysql_select_db("$db_name");
/* Navigatiegedeelte
*
********************/
$page = (!isset($_GET['page'])) ? 1 : $_GET['page'];
//aantal records per pagina
$max = 20;
$start = ($max * $page) - $max;
// aantal berichten tellen in je gb
$rows = mysql_result(mysql_query("SELECT COUNT(id) FROM gastenboek ORDER BY id"),0);
// aantal pagina's berekenen
$pages = ceil($rows / $max);
// genereren van "vorige"
if ($page > 1) {
$previous = $page - 1;
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $previous . "\"><<</a> ";
}
// genereren van de verschillende paginanummers
for ($i = 1; $i <= $pages; $i++) {
if ($page == $i) {
if ($i == $pages) {
echo "<b>" . $i . "</b> ";
} else {
echo "<b>" . $i . "</b>, ";
}
} else {
if ($i == $pages) {
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "\">" . $i . "</a> ";
} else {
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "\">" . $i . "</a>, ";
}
}
}
// genereren van "volgende"
if ($page < $pages) {
$next = $page + 1;
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $next . "\">>></a>";
}
/* Gastenboekreacties
*
********************/
$select = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT " . $start . ", " . $max . "";
$query = mysql_query($select);
$records = mysql_num_rows($query);
echo " <a href=\"index.php?p=toevoegen\">>> Gastenboek tekenen</a>";
echo "<p>Er zijn al <b><font color=#FF0000>$rows</font></b> berichten toegevoegd!</p>";
while ($list = mysql_fetch_object($query)) {
echo "<p><table>";
echo "<tr><td width=125><b>Naam:</b></td><td>$list->auteur</td></tr>";
echo "<tr><td width=125><b>E-mail:</b></td><td>$list->email</td></tr>";
echo "<tr><td valign=top width=50><b>Bericht:</b></td><td>$list->bericht</td></tr>";
echo "<tr><td width=125><b>Toegevoegd op:</b></td><td><font color=#FF0000>$list->datum - $list->tijd</font></td></tr>";
echo "</table></p><br><hr size=1 color=#006699 width=100%>";
}
?>
<?
include ( "config.php" ) ;
/* Navigatiegedeelte
*
********************/
$page = ( ! isset ( $_GET [ 'page' ] ) ) ?
1 : $_GET [ 'page' ] ; //aantal records per pagina
$max = 20 ;
$start = ( $max * $page ) - $max ;
// aantal berichten tellen in je gb
// aantal pagina's berekenen
$pages = ceil ( $rows / $max ) ;
// genereren van "vorige"
if ( $page > 1 ) {
$previous = $page - 1 ;
echo "<a href=\" " . $_SERVER [ 'PHP_SELF' ] . "?page=" . $previous . "\" ><<</a> " ; }
// genereren van de verschillende paginanummers
for ( $i = 1 ; $i <= $pages ; $i ++ ) {
if ( $page == $i ) {
if ( $i == $pages ) {
echo "<b>" . $i . "</b> " ; } else {
echo "<b>" . $i . "</b>, " ; }
} else {
if ( $i == $pages ) {
echo "<a href=\" " . $_SERVER [ 'PHP_SELF' ] . "?page=" . $i . "\" >" . $i . "</a> " ; } else {
echo "<a href=\" " . $_SERVER [ 'PHP_SELF' ] . "?page=" . $i . "\" >" . $i . "</a>, " ; }
}
}
// genereren van "volgende"
if ( $page < $pages ) {
$next = $page + 1 ;
echo "<a href=\" " . $_SERVER [ 'PHP_SELF' ] . "?page=" . $next . "\" >>></a>" ; }
/* Gastenboekreacties
*
********************/
$select = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT " . $start . ", " . $max . "" ;
echo " <a href=\" index.php?p=toevoegen\" >>> Gastenboek tekenen</a>" ; echo "<p>Er zijn al <b><font color=#FF0000>$rows </font></b> berichten toegevoegd!</p>" ;
echo "<tr><td width=125><b>Naam:</b></td><td>$list->auteur </td></tr>" ; echo "<tr><td width=125><b>E-mail:</b></td><td>$list->email </td></tr>" ; echo "<tr><td valign=top width=50><b>Bericht:</b></td><td>$list->bericht </td></tr>" ; echo "<tr><td width=125><b>Toegevoegd op:</b></td><td><font color=#FF0000>$list->datum - $list->tijd </font></td></tr>" ; echo "</table></p><br><hr size=1 color=#006699 width=100%>" ; }
?>
Laat maar iets weten, en eventuele foutmeldingen mag je hier weer posten! Some good luck...
Speedy - 31/01/2005 21:09 (laatste wijziging 31/01/2005 21:10)
PHP interesse
Bedankt alles werkt!!!!
Alleen geeft hij hier ...
<?
echo "<p>Er zijn al <b><font color=#FF0000>$records</font></b> berichten toegevoegd!</p>";
?>
<?
echo "<p>Er zijn al <b><font color=#FF0000>$records </font></b> berichten toegevoegd!</p>" ; ?>
<?
$select = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT " . $start . ", " . $max . "";
$query = mysql_query($select);
$records = mysql_num_rows($query);
?>
<?
$select = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT " . $start . ", " . $max . "" ;
?>
... alleen maar de berichten weer die op 1 pagina staan.
Kan ik nog een totaal weergeven van het aantal berichten?
@ Addow, bedankt, wat een service!!!:!:
Dennisvb - 31/01/2005 21:12
MySQL ver gevorderde
Totaal aantal berichten staat toch al hier:
$rows = mysql_result(mysql_query("SELECT COUNT(id) FROM gastenboek ORDER BY id"),0);
?
Graag ook variabelen buiten haakjes zetten...
Gesponsorde links
Dit onderwerp is gesloten .