php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.08.2008, 03:18  
Benutzer
 
Registriert seit: 08.04.2008
Beiträge: 45
coraplanet befindet sich auf einem aufstrebenden Ast
Standard Blätterfunktion in einem Gästebuch

Hallo leute, habe mir ein Gästebuch mittels PHP erstellt und wollte mir nun eine Blätterfunktion einbauen, damit das GB übersichtlich bleibt... jedoch stosse ich auf ein kleines Problem. Hier zuersteinmal der Code:

PHP-Code:
<?php include("connection.php"); ?>

<html>
 <head>
  <title>
   G&auml;stebuch Projekt
  </title>
 </head>

 <body>
  <form action="ubergabe.php" method="POST">  
   <table border="0" align="center">
    <tr>
     <th align="left">Name:</th>
     <td>&nbsp;</td>
     <td><input type="text" name="u_name" value="Name"></td>
    </tr>

    <tr>
     <th>E-Mail Adresse:</th>
     <td>&nbsp;</td>
     <td><input type="text" name="email" value="E-Mail Adresse"></td>
    </tr>

    <tr>
     <th align="left">Homepage:</th>
     <td>&nbsp;</td>
     <td><input type="text" name="url" value="http://"></td>
    </tr>

    <tr>
     <th align="left">ICQ:</th>
     <td>&nbsp;</td>
     <td><input type="text" name="icq" vlaue="000000000"></td>
    </tr>

    <tr>
     <th align="left">Ihre Nachricht:</th>
     <td>&nbsp;</td>
     <td>&nbsp;</td>
    </tr>
    <tr>
     <td colspan="3" align="center"><textarea cols="30" rows="5" value="message" name="message"></textarea></td>
    </tr>

    <tr>
     <td><input type="submit" value="Absenden"></td>
     <td>&nbsp;</td>
     <td><input type="reset" value="Reset"></td>
    </tr>

   </table>
  </form>

    <!-- Die Ausgabe -->

  <?php

   $proseite    
=    10;
   
$sql        =    "SELECT * FROM gastebuch";
   
$result    =    mysql_query($sql);
   
$number    =    mysql_num_rows($result);
   
$seiten    =    ceil($number/$proseite);
  
   
$page    =    $_GET['page'];

   
$start    =    $page $proseite;
   
$sql        =    "SELECT id FROM gastebuch LIMIT $start,$proseite";
   
$result    =    mysql_query($sql);
   
$ende    =    $start $proseite;

   echo 
$page;
   
   echo 
"<p align='center'>";
   if(
$ende $number) {$ende $number;
   echo 
"Zur Zeit sind $number Eintr&auml;ge im G&auml;stebuch<br>\n";
   echo 
"Seite $page - Eintr&auml;ge von $start bis $ende<br>\n";

   if(
$page >= $seiten) {
    
$i=$page -1;
    echo 
"<a href=\"index.php?page=$i\">&lt;previous</a>&nbsp;";
 }
 
 for(
$i=1$i<=$seiten$i++){
  if(
$i==$page){
   echo 
$i."&nbsp;";
  } 
  else {
   echo 
"<a href=\"index.php?page=$i\">$i</a>&nbsp;";
  }
 } 
 if (
$page<$seiten) {
  
$i=$page+1;
  echo 
"<a href=\"index.php?page=$i\">next&gt;</a>";
 } 
}




   
$sql        =    "SELECT * FROM gastebuch ORDER BY id DESC";
   
$ausgabe    =    mysql_query($sql) or die("Ausgabe kann nicht generiert werden.");
   
   while(
$row mysql_fetch_array($ausgabe)){
     echo 
"<table border='1' width='50%' align='center'><tr>";
     echo 
"<th>Nr.: </th>";
     echo 
"<td align='center'>".$row['id']."</td></tr>";
     echo 
"<tr><th>Eingetragen am: </th>";
     echo 
"<td>".$row['date']."</td></tr>";
     echo 
"<tr><th>Name: </th>";
     echo 
"<td><a href='mailto:".$row['e-mail']."'>".$row['name']."</a></td></tr>";
     
     if(
$row['url'] == "http://"){
      echo 
"";
     }
     else{
     echo 
"<tr><th>Homepage: </th>";
     echo 
"<td><a href='".$row['url']."' target='_blank'>".$row['url']."</a></td></tr>";
     }

     if(
$row['icq'] == 0){
      echo 
"";
     }
     else{
      echo 
"<tr><th>ICQ-Nummer: </th>";
      echo 
"<td>".$row['icq']."</td></tr>";
     }

     echo 
"<tr><th colspan='2'>Ihre Nachricht: </th></tr>";
     echo 
"<tr><td colspan='2'>".$row['message']."</td></tr>";
     echo 
"</table><br><br>";
    }

  
?>


 </body>
</html>
meine probleme sind folgende:

1. die einträge werden immer alle angezeigt... ich komme einfach nicht dahinter wie ich nur die anzahl under der variable $proseite anzeigen lassen kann

2. $proseite darf nicht weniger als 4 sein ansonsten wird der gesamte text zwischen eintrags formular und gb-einträgen nicht angezeigt

3. die $ende wird mir im text nicht richtig angezeigt ... jedoch wenn ich irgendwo im code
PHP-Code:
 echo $ende
schreibe zeigt er die variable richtig an.

4. das <previous soll ab seite 2 immer angezeigt werden ... bis zu einer anzahl von 2 seiten kein problem ... aber ab der 3 seiten wird dieses auf seite 2 nicht angezeigt um auf seite 1 zu gelangen ... und wenn ich dann auf seite 1 klicke dann verschwindet der text wieder wie in problem 2


hoffe das mir hierbei einer ein klein wenig unter die arme greifen kann ... bin zwar kein newbi mehr in sachen php aber hab schon länger nicht mehr damit gearbeitet und die sufu hab ich auch schon genutzt aber leider nichts nützliches zu meinen problemchen gefunden

wäre nett für hilfe danke schonmal im vorraus
coraplanet ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.08.2008, 10:56  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bau in deinen MySQL Query ein LIMIT ein. Mehr Informationen zum Thema gibt es im Netz, Stichwort Pagination.
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline  
Alt 17.08.2008, 11:52  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Hallo!

Schaue mal http://www.inspire-wold.de rein,da gibts eine Blätterfunktion die auch nutze und die sehr gut läuft!

mfg der litter

Hier der funktionscode!
PHP-Code:
if(!function_exists('pager'))
{
function 
pager($zeilen$seite$pro_seite$url$show_pageinfo 1) {
$max_ausgabe $pro_seite;
$gesamtseiten floor(($zeilen 1) / $pro_seite+1);
$aktuelle_seite $seite $seite 1;
$linkanzahlausgabe 2;
$letzte $linkanzahlausgabe $aktuelle_seite;
if (
$letzte $gesamtseiten) {
$letzte $gesamtseiten;
}
$startback $aktuelle_seite $linkanzahlausgabe;
if (
$startback 1) {
$startback 1;
}
$navigationslinks "&nbsp;";
if (
$gesamtseiten != && $zeilen) {
$seitenlink "";
if (
$startback 1) {
$prevbl $aktuelle_seite 1;
$seitenlink .=  "<td class=\"pl\"><a href=\"$url=1\" title=\"Erste Seite aufrufen\">« «</a></td><td class=\"pl\"><a href=\"$url=$prevbl\" title=\"Eine Seite zurück\">«</a></td>";
}
for (
$i $startback$i <= $letzte$i++) {
if (
$aktuelle_seite == "$i") {
$seitenlink .= "<td class=\"aktuelleseite\">$i</td>";
} else {
$seitenlink .= "<td class=\"pl\"><a href=\"$url=$i\">$i</a></td>";
}
}
if (
$letzte $gesamtseiten) {
$nextbl $aktuelle_seite 1;
$seitenlink .= "<td class=\"pl\"><a href=\"$url=$nextbl\" title=\"Eine Seite weiter\">»</a></td><td class=\"pl\"><a href=\"$url=$gesamtseiten\" title=\"Letzte Seite aufrufen\">» »</a></td>";
}
if (
$show_pageinfo == 1) { 
$pageinfo "<td class=\"seiteninfo\">Seite: $aktuelle_seite von $gesamtseiten</td>";
} else {
$pageinfo '';
}
$navigationslinks "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"sitenav\"><tr>$pageinfo $seitenlink</tr></table>";
}
return 
$navigationslinks;
}

Hier der Code wie die funktion eingebunden wird!
PHP-Code:
//sql stringvariable
$sqlbefehl ="
   Select SQL_CALC_FOUND_ROWS
 
//und das ist um die navi anzuzeigen
$befehl = "
Select FOUND_ROWS()";
$res = mysql_query($befehl);
$zeilen = mysql_fetch_row($res);
if ($zeilen[0] > 0)
{
 $navigationslinks = pager($zeilen[0], $los, $scriptconf, "
show_thread.php?th_id=".$show_head['th_id']."&los", 1);
 echo $navigationslinks;  

Wenn du Probleme damit hast kann ich dir weiter helfen denn ich nutze die wie gesagt auch!

mfg der litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Gästebuch skript ohne mysql do it yourself gandalf PHP Tipps 2008 15 11.07.2008 21:52
php Blätterfunktion erweitern killerboost PHP Tipps 2007 5 16.08.2007 08:46
Fehler im Gästebuch Wimme PHP Tipps 2006 1 22.08.2006 16:43
Blätterfunktion in smartysystem PHP Tipps 2006 5 18.03.2006 22:19
[Erledigt] Problem mit Gästebuch PHP Tipps 2006 5 14.02.2006 18:07
Gästebuch PHP Tipps 2005-2 2 22.07.2005 18:16
Dropdown-Menü und Gästebuch PHP Tipps 2005-2 5 20.06.2005 23:20
[Erledigt] Probleme mit dem Gästebuch PHP Tipps 2005-2 5 07.06.2005 15:22
[Erledigt] 4images Gästebuch PHP Tipps 2005 11 03.06.2005 08:05
Gästebuch / Datenbank PHP Tipps 2005 2 22.04.2005 16:27
Blättern in Gästebuch auf Dateibasis nsane PHP Tipps 2005 8 22.01.2005 21:02
Unbekanntes Problem mit Gästebuch PHP Tipps 2007 3 02.01.2005 22:04
Gästebuch: Fehlermeldung-No database selected PHP-Fortgeschrittene 6 27.12.2004 14:17
Gästebuch und Blättern picco PHP Tipps 2004 23 01.09.2004 16:52
Problem mit meinem Gästebuch picco PHP Tipps 2004 10 25.08.2004 23:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php blätterfunktion txt, blätterfunktion gästebuch include, gästebuch blätterfunktion php, blätterfunktion sql, gästebuch blätterfunktion, php blätterfunktion gaestebuch.txt, php gästebuch mit blätterfunktion ohne sql, blätterfunktion gästebuch sql php, gästebuch blätterfunktion sql, blätterfunktion $mit php special, http://www.php.de/php-tipps-2008/46761-blaetterfunktion-einem-gaestebuch.html, gästebuch blättern

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum