• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage zu PHP und MySQL

Status
Für weitere Antworten geschlossen.

nicolaskeckl

Neues Mitglied
Hallo!

Ich habe ein Gästebuch programmiert, das auf PHP und MySQL basiert. Jetzt möchte ich die Einträge auf Seiten verteilen, also dass auf einer Seite z.B 5 Einträge dargestellt werden. Wie funktioniert das?
Es wäre schön, wenn mir jemand helfen könnte. Danke.

Antworten auch an icq möglich: 259-958-465
 
Werbung:
das machst du mit der LIMIT-abfrage in verbindung mit $_GET

[php:1:170e256adb]<?php
{foreach item=Seite from=$Seiten}
{if $Seite == $Akt_Seite} {* Wenns die aktuelle Seite ist keinen Link erstellen *}
{$Seite}
{else}
{$Seite}
{/if}
{/foreach}
?>[/php:1:170e256adb]

Nils aka XraYSoLo
 
was machst du da?

ich debuge mal diesen code... oder auch nicht ich wüsste nicht wie man damit bläteern soll...

in der adressezeile musst du immer die aktuelle seite angeben. wir nennen sie jetzt hier $_GET['seite']
[php:1:beac9c312e]<?php
$ANZAHL_EINTRAEGE = 5; /*einträge pro seite*/

/*gesamt zahl der beiträge holen*/
$sql = "SELECT * FROM `gaestebuch`;";
$result = mysql_query($sql);
$anzahl = mysql_num_rows($result);

/*aktuelle seite definieren*/
if(isset($_GET['seite']) && $_GET['seite'] > 0 && $_GET['seite'] <= ($anzahl / $ANZAHL_EINTRAEGE)) /*wenn siteen angabe exsitiert und nicht negativ ist und nicht zu groß ist*/
$seite = $_GET['seite'];
else
$seite = 1;

/*beiträge für diese seite holen*/
$sql = "SELECT * FROM `gaestebuch` LIMIT ".($seite*$ANZAHL_EINTRAEGE).", ".$ANZAHL_EINTRAEGE.";"; /*damit ab beitrag soundso $ANZAHL_EINTRAEGE viele beiträgegewählt werden*/
$result = mysql_query($sql);
while($daten = mysql_fetch_array($result))
{
/*daten ausgabe*/
}

echo "<a href=\"gaestebuch.php?seite=".$seite-1."\">&lt; Zurück</a>";
echo " | ";
echo "<a href=\"gaestebuch.php?seite=".$seite+1."\">Vor &gt;</a>";
?>[/php:1:beac9c312e]

aktuelle datei = gaestebuch.php
aktuelle tabelle = gaestebuch

so das sollte reichen um dein prob zu lösen.

mfg Prophet
 
Werbung:
nein den habe ich gerade eben geschrieben cracki. den wirst du nirgends auf meinem pc finden.

der ist aus dem handgelenk geschüttelt 8)

mfg Prophet
 
Seite mit datensastzlimite, fix fertig zum blättern und angaben wieviele datensätze und in welchen man sich bewegt.
nur noch die datenbankverbindung angeben, datenbank namen eintragen, und los geht es
[php:1:e4749fa1b7]
<?
$go_to = $_SERVER['PHP_SELF'];
$maximal_row = 10;//maximal zähler
$minimal_row = 0;//minimal zähler
if (isset($_GET['seite'])) {
$minimal_row = $_GET['seite'];
}
$erster_datensatz = $minimal_row * $maximal_row;

mysql_select_db($SQL_datenbank, $SQL_verbindung);//datenbank angew&auml;hlt
$sql_start = "SELECT * FROM deine_datenbank";//hier datenbank angeben
$sql = sprintf("%s LIMIT %d, %d", $sql_start, $erster_datensatz, $maximal_row);
$ergebnis = mysql_query($sql, $SQL_verbindung);


$total_eintrag_ergebnis = mysql_query($sql_start, $SQL_verbindung);
$total_eintrag = mysql_num_rows($total_eintrag_ergebnis);
$total_seite= ceil($total_eintrag/$maximal_row)-1;
?>
<html>


<body>
Seite
<? echo $minimal_row+1;?>
<table width="800" border="1" cellspacing="0" cellpadding="0">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<? while ($row = mysql_fetch_assoc($ergebnis)){?>
<tr>
<td><? echo $row['datum'];?></td>
<td><? echo $row['user_id'];?></td>
<td><? echo $row['ip'];?></td>
<td>1</td>
<td><? echo $row['browser'];?></td>
</tr><? }?>
</table>
" target="_self">erste |
" target="_self">zur&uuml;ck |
" target="_self">vor |
" target="_self">letzte




Datens&auml;tze <? echo $erster_datensatz+1;?> bis <? echo min($erster_datensatz+$maximal_row, $total_eintrag);?> von <? echo $total_eintrag;?>
</body>
</html>
?>[/php:1:e4749fa1b7]
 
Werbung:
Werbung:
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben