ERLEDIGT
NEIN
NEIN
ANTWORTEN
15
15
ZUGRIFFE
697
697
EMPFEHLEN
-
20.02.03 18:21 #1
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
Hi,
Ich habe hier mal ein Script, für me Seiteneinteilung von Datensätzen in PHP.
Leider funktioniert das nicht, obwohl ich es genau nach einem Tutorial gemacht habe.
Die Ausgabe von den Seitenzahlen habe ich jetzt mal nicht eingebaut, das hab ich zu testzwecken noch weggelassen und über die URL gesteuert.
Ich hoffe, ihr könnt mir (schnell) weiterhelfen, schonmal dankePHP-Code:// Variablen
$daten_pro_seite = 10;
// Prüfe, ob seite angegeben wurden ist
if ($seite == null)
{
$seite = 1;
}
$untergrenze = $seite*$daten_pro_seite-$daten_pro_seite;
$obergrenze = $seite*$daten_pro_seite;
// MySQL Abfrage, wenn es der Fall zulässt
$datencounter = $datencounter +1;
if($datencounter > $untergrenze && $datencounter <= $obergrenze)
{
$zaehler='0';
$kleine=mysql_query("SELECT id FROM questbook ORDER BY id DESC LIMIT $untergrenze,$obergrenze");
$zeilen=mysql_num_rows($kleine);
while($zaehler < $zeilen)
{
$fetch=mysql_fetch_array($kleine);
echo "$fetch[id]<br>";
$zaehler++;
}
}
*schleim
Geändert von Experience1986 (20.02.03 um 18:24 Uhr)
-
20.02.03 18:42 #2
- Registriert seit
- Jul 2001
- Ort
- Schweiz
- Beiträge
- 837
Ja was genau funktioniert denn nicht?
Wenn die Leute nicht schreiben was sie WIRKLICH WISSEN WOLLEN, ist es schwer ihnen zu helfen.Das maximale Volumen subterraner Agrarprodukte steht in reziproker Relation zur spirituellen Kapazität des Produzenten.
(Die dümmsten Bauern haben die grössten Kartoffeln.)
Mein Technologie Blog: http://www.freeworld.net/blog/
-
naja ein paar zeilen kann man so lassen

if ($seite == null) tauschen gegen if(!ifset($seite))
die untergrenze /obergrenze macht so erstmal kein sinn
da müsste man ev mehr wissen
was mir fehlt ist die abfrage wieviel datensätze überhaupt da sind ...
und die sqlabfrage muss auch verbessert werden
limit startwert(auch offset genannt),anzahl der reihen
-
20.02.03 19:10 #4
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
also, meine einteilung geht jetzt, das problem war, das sich $obergrenze auch immer + 10 geworden ist, doch die muss immer auf 10 bleiben, kleiner struttel fehler.
jetzt müsste ich nur noch wissen, wie man die links aus gibt, also Seite 1, 2, 3....
Aber nur so viel, wie auch angezeigt werden können, also nicht seite 26662, wenn es nur 4 seiten gibt
Momentan sind 42 Datensätze in meiner DB.
-
20.02.03 19:22 #5
- Registriert seit
- Jul 2001
- Ort
- Schweiz
- Beiträge
- 837
SELECT COUNT(*) FROM tabelle
Das ist der Query.
Dann musst du Anzahl geteilt durch $daten_pro_seite.
$i = 1;
while ($i < $daten_pro_seite + 1) {
echo "<a href=\"deineseite.php?seite=" . $i . "Seite" . $i;
$i++;
}Das maximale Volumen subterraner Agrarprodukte steht in reziproker Relation zur spirituellen Kapazität des Produzenten.
(Die dümmsten Bauern haben die grössten Kartoffeln.)
Mein Technologie Blog: http://www.freeworld.net/blog/
-
20.02.03 19:29 #6
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
@Terrance...
den Code, den du mir gegeben hast, zählt bis 10, aber ansonsten geht es.
Ist es nicht korrekter, wenn man es so mach: $zeilen ist die Datensatz-Höhe:
PHP-Code:$i = 1;
while ($i < $zeilen/$daten_pro_seite) {
echo "<a href=\"deineseite.php?seite=" . $i . "\">Seite" . $i . "</a> ";
$i++;
}
Da kommt aber in dem Fall ne 4.2 raus (42 Datensätze / 10 daten_pro_seite)
Müsste man doch dann aufrunden, aber wie?
-
20.02.03 19:36 #7
- Registriert seit
- Jul 2001
- Ort
- Schweiz
- Beiträge
- 837
Ups. Sorry. Ich hab ja oben geschrieben "Dann musst du Anzahl geteilt durch $daten_pro_seite.". Das hab ich dann aber vergessen auch in die Schleife einzufügen.
Ja so müsste es gehn.Das maximale Volumen subterraner Agrarprodukte steht in reziproker Relation zur spirituellen Kapazität des Produzenten.
(Die dümmsten Bauern haben die grössten Kartoffeln.)
Mein Technologie Blog: http://www.freeworld.net/blog/
-
20.02.03 19:39 #8
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
habe ich jetzt gerade ausprobiert, nur durch das Limit in der Abfrage ist der Anzahl der Datensätze ja immer auf 10, und daher ist $zeilen immer zehn und nicht die gesamte Anzahl der Datensätze in meiner Tabelle.
Muss ich dan extra ne neue Query mache?
-
20.02.03 19:47 #9
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
Ok, hier mal der ganze Code, hab halt die gesamte Zahl nun doch noch mit na Extra Query gemacht. Leider urndet die Schleife ab, aber sie muss logischer weise ja eigentlich aufrunden, so das auch die letzte Seite angezeigt wird:
PHP-Code:// Variablen
$daten_pro_seite = 10;
// Prüfe, ob seite angegeben wurden ist
if ($seite == null)
{
$seite = 1;
}
$untergrenze = $seite*$daten_pro_seite-$daten_pro_seite;
$obergrenze = $daten_pro_seite;
// MySQL Abfrage, wenn es der Fall zulässt
$datencounter = $datencounter +1;
$zaehler='0';
$kleine=mysql_query("SELECT id, vorname, datum, nachname, email, icq, msn, entry, comment FROM questbook ORDER BY id DESC LIMIT $untergrenze,$obergrenze");
$zeilen=mysql_num_rows(mysql_query("SELECT id comment FROM questbook ORDER BY id DESC"));
$i = 1;
while ($i < $zeilen/$daten_pro_seite) {
echo "<a href=\"test.php?seite=" . $i . "\">Seite" . $i . "</a> ";
$i++;
}
echo "<hr>Ausgabe von Variablen:<br>
Untergrenze: $untergrenze<br>
Obergrenze: $obergrenze<br>
DatenCounter: $datencounter<br>
Seite: $seite<br>
DatenProSeite: $daten_pro_seite<br>
Zeilen: $zeilen
<hr>";
while($zaehler < $zeilen)
{
$fetch=mysql_fetch_array($kleine);
echo "$fetch[id]<br>";
$zaehler++;
}
Ich hab im Manuale schon gegugt, aber da wird nur die round(9 funktion angeboten, nur bringt mir das nichts, denn es muss zum Beispiel bei 4.2 auf 5 AUF gerundet werden und nich auf 4.0 ab gerundet werden.
Was gibt es da noch für möglichkeiten?
-
20.02.03 19:49 #10
- Registriert seit
- Jul 2001
- Ort
- Schweiz
- Beiträge
- 837
Du musst doch garnicht runden. Es gibt automatisch die richtige Seitenzahl. Eigentlich müsste man noch + 1, aber da die Schleife mit 0 startet gehts.
Das maximale Volumen subterraner Agrarprodukte steht in reziproker Relation zur spirituellen Kapazität des Produzenten.
(Die dümmsten Bauern haben die grössten Kartoffeln.)
Mein Technologie Blog: http://www.freeworld.net/blog/
-
20.02.03 19:51 #11
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
ne, es werden nur 4 seiten ausgegeben und 42/10 ist ja 4.2, es wird also abgerundet. Und bei 4 Seiten fehlt in diesem Fall immer noch 2 Datensätze

Meiner meinung nach, müsste man da aufrunden, oder?
-
20.02.03 19:57 #12
- Registriert seit
- Jul 2001
- Ort
- Schweiz
- Beiträge
- 837
Dann mach doch + 0.9 und dann runde ab. Dann sollts stimmen.
Das maximale Volumen subterraner Agrarprodukte steht in reziproker Relation zur spirituellen Kapazität des Produzenten.
(Die dümmsten Bauern haben die grössten Kartoffeln.)
Mein Technologie Blog: http://www.freeworld.net/blog/
-
20.02.03 20:00 #13
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
ja, in dem fall, aber was ist, wenn ich als ergebnis 4,6 als ergebniss habe, dann + 0,9 dann wären wir bei 5.5 und dann würde er auf 6 aufrunden, dann wäre die seite 6 ohne inhalt
-
20.02.03 20:06 #14
- Registriert seit
- Jul 2001
- Ort
- Schweiz
- Beiträge
- 837
Ich hab nun mal selbst geschaut, es gibt auch Funktionen zum auf- oder abrunden.Ich hab im Manuale schon gegugt, aber da wird nur die round(9 funktion angeboten, nur bringt mir das nichts, denn es muss zum Beispiel bei 4.2 auf 5 AUF gerundet werden und nich auf 4.0 ab gerundet werden.
ceil(nr); rundet auf.
floor(nr); rundet ab.
Damit müsste dein Problem gelöst sein. Wenn nicht, einfach melden.Das maximale Volumen subterraner Agrarprodukte steht in reziproker Relation zur spirituellen Kapazität des Produzenten.
(Die dümmsten Bauern haben die grössten Kartoffeln.)
Mein Technologie Blog: http://www.freeworld.net/blog/
-
20.02.03 20:09 #15
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
stimmt, geht.
DANNKE für eure Hilfe.
Kurze frage noch, nach was hast du im Manual gesucht?
Ähnliche Themen
-
tableviewer und zeilenumbruch geht leider nicht********?:-(
Von daniel38 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 19.01.11, 13:10 -
Hex geht leider net :(
Von Sg im Forum C/C++Antworten: 3Letzter Beitrag: 29.12.08, 20:57 -
Cronjob wegen Apache Problem, doch geht leider noch nicht
Von Hannibal im Forum Linux & UnixAntworten: 3Letzter Beitrag: 20.05.08, 17:16 -
leider nicht das richtige
Von flash8 im Forum Flash PlattformAntworten: 1Letzter Beitrag: 01.12.06, 07:05





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren