Willkommen in der Webstatt Zum Webstatt Blog und Stories
BNightSpeeder am 09.06.06 17:50

Hallo,

habe versucht eine Blätterfunktion die ich gefunden habe anzupassen, nur leider klappt das nicht:

<?php
if ($_GET['page'] == 'new' OR $_GET['page'] == 'new') {
$page_titel = 'Gästebuch - Neuer Eintrag';
echo "Neure Eintarg hier!";
}
else {
/*
Aufteilung von Einträgen auf Seiten
- hier mit MYSQL
- Beispiel einer Zitat-Anzeige
- Anzupassen sind die Config-Werte sowie die URL in Zeile 56, 63 und 70
*/
// Berechnung der Seitenanzahl
list($gesamt) = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM guestbook"));
$num_sites = ceil($gesamt/$eintraege_pro_seite);
/*
Zunächst wird die Anzahl der gesamt vorhandenen Einträge ermittelt,
diese Zahl wird durch die gewünschte Anzahl der Einträge geteilt und
dann aufgerundet.
Beispiel:
Es befinden sich 23 Einträge in der Datenbank, 10 sollen je Seite angezeigt
werden.
23 durch 10 ergibt 2,3
2,3 wird aufgerundet und so erhält man 3 Seiten
*/

// korrigieren der aktuellen Seite
if(empty($_GET['site'])) {
$site = 1;
} elseif($_GET['site'] <= 0 || $_GET['site'] > $num_sites) {
$site = 1;
} else {
$site = $_GET['site'];
}
/*
Die aktuell angezeigte Seite, gespeichert in $site und vorher übergeben
mit $_GET['site'] wird hier korrigiert. Sollte $_GET['site'] nicht gesetzt
sein oder sollte $_GET['site'] außerhalb des gültigen Bereichs liegen, wird
$site auf 1 gesetzt, anderenfalls bekommt $site den gültigen Wert aus
$_GET['site'].
*/

// Linkkette
$links = array();
// "<<"-Link (eine Seite zurück)
if($site != 1) {
// if überprüft, ob wir uns nicht auf der ersten Seite befinden
$prev = $site-1;
$links[] = '<a href="seitenaufteilung.php?site='.$prev.'">&laquo;</a>';
}
for($i=1;$i<=$num_sites;$i++) {
if($i == $site) {
// aktuelle Seite, ein Link ist nicht erforderlich
$links[] = $i;
} else {
$links[] = '<a href="seitenaufteilung.php?site='.$i.'">'.$i.'</a>';
}
}
// ">>"-link (ein Seite weiter)
if($site != $num_sites) {
// if überprüft, ob wir uns nicht auf der letzten Seite befinden
$next = $site+1;
$links[] = '<a href="seitenaufteilung.php?site='.$next.'">&raquo;</a>';
}
// Zusammenfügen der einzelnen Links zu einem String
$link_string = implode(" | ", $links);

// Ausgabe der ausgewählten Seite
/*
mysql bringt mit "LIMIT start,anzahl" genau die richtige "Funktion" mit, um
unsere einträge entsprechend auszugeben
Wir müssen jetzt lediglich den Wert errechnen, bei dem unsere Ausgabe anfangen
soll...das sollte bei Seite 2 (10 Einträge pro Seite) der 11. Eintrag sein
*/
$start = ($site-1)*$eintraege_pro_seite;

// mysql-Query und Ausgabe
$result = mysql_query("SELECT (*) FROM guestbook LIMIT ".$start.",".$eintraege_pro_seite);
while($row = mysql_fetch_array($result)) {
?>
<table align="center" width="682" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="oben_links"></td>
<td id="oben_mitte"></td>
<td id="oben_rechts"></td>
</tr>
<tr>
<td id="mitte_links"></td>
<td id="mitte_mitte"><table width="100%" border="0">
<tr>
<td width="160">Name:</td>
<td><? echo (badfilter(htmlentities($row->Name))); ?></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><? echo cryptmail(badfilter(htmlentities($row->Email)));?></td>
</tr>
<tr>
<td>Homepage:</td>
<td><a target="_blank" href="klick.php?typ=guestbook&id=<? echo $row->id; ?>&tab=guestbook">www.<? echo (badfilter(url(htmlentities($row->link))));?></a>&nbsp;(<?php echo $row->klick; ?> Klicks)</td>
</tr>
<tr>
<td>Bewertung Internetiv's:</td>
<td><? echo htmlentities($row->Note);?></td>
</tr>
<tr>
<td><hr class="hr"></td>
<td><hr class="hr"></td>
</tr>
<tr>
<td>Eintrag:</td>
<td><? echo nl2br(smilies(badfilter(htmlentities($row->Text))));?>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>

<tr>
<td><hr class="hr"></td>
<td><hr class="hr"></td>
</tr>
<td></td>
<td width="100%" class="thumbnail"><strong>Kommentar vom Admin:</strong><br><? echo $anzeigecomm ?></td>

</tr>
</table></td>
<td id="mitte_rechts"></td>
</tr>
<tr>
<td id="unten_links"></td>
<td id="unten_mitte"></td>
<td id="unten_rechts"></td>
</tr>
</table>
<? }
} ?>


Fehler:

Quote
Warning: Division by zero in C:\FoxServ\www\Re-Design\page\guestbook.php on line 15

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\Re-Design\page\guestbook.php on line 79


Mfg. BNS

netcup.de Warum gibt es hier Werbung?
milahu milahu am 09.06.06 18:52

Nanana.. da hat wohl jemand $eintraege_pro_seite nicht definiert!

BNightSpeeder am 09.06.06 20:54

Ok aber jetzt gibt es noch nen fehler:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\Re-Design\page\guestbook.php on line 80

milahu milahu am 10.06.06 00:54

Wie oft denn noch... "or die(mysql_error());" :tired:

BNightSpeeder am 10.06.06 12:27

Ah!

Ja das script ist ja nicht von mir deshalb hab ich's vergessen:

Quote
You have an error in your SQL syntax near '*) FROM guestbook LIMIT 0,10' at line 1


Hier war der Fehler:

$result = mysql_query("SELECT (*) FROM guestbook LIMIT ".$start.",".$eintraege_pro_seite);
while($row = mysql_fetch_array($result)) {
?>


Hab das "(*) in Klammern gesetzt, muss aber ja "*" sein.

Mfg. BNS

EDIT:


Noch nen Problem es wird zwar die richtige anzal der Einträge mit while ausgeführt aber nichts angezeigt, also der "$row->" wird nicht ausgegeben!

Franky Franky am 10.06.06 21:04

du hast ja auch nen array und kein objekt..

Al3x0r Al3x0r am 10.06.06 21:13

Quote
Original von Franky
du hast ja auch nen array und kein objekt..


wie franky schon sagt musst du , da du ein Array hast, aus

Zeile 79

while($row = mysql_fetch_array($result)) {

das

while($row = mysql_fetch_object($result)) {

machen.

mfg Alex

BNightSpeeder am 10.06.06 21:32

ah, immer diese Arrays, trotzdem thx!

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt