Subject: Fehler mit der Berechnung meiner Blätterfunktion
Ich habe mal wieder ein Problem.
Und zwar bei meiner Blätterfunktion.
Sie ging mal. Aber ich hab die ganze Zeit rumgefuchtelt, dass ich nich mehr weiß wie sie richtig funktioniert
Das Problem ist sie berechnet die ganze zeit falsch!
Ich denke mal das ist ein kleiner Fehler der mir immer wieder entwischt ist.
Hier mal das Script:
Also bei der Variabel $proseite wird angegeben, wie viel Seiten pro Seite ausgegeben werden sollen.
Bei $number muss man manuell einstellen wie viele Einträge vorhanden sind (wird normal automatisch gemacht, aber habe die funktion mal deaktiviert um es einfacher mal zu Testen).
Dann habe ich unten extra TEST-Variabeln ausgegeben. Die sorgen dafür auch nochma eine Hilfe zu haben.
Das Problem ist, dass das Script bei 0-15 Einträgen nicht die Seite 1 generiert, und ab 16 - 30 Einträgen noch nicht die 2. Seite und so weiter.
Vielleicht kann mir einer helfen. Bin mittlerweile schon voll durcheinander..
Mit freundlichen Grüßen
brimberry
Und zwar bei meiner Blätterfunktion.
Sie ging mal. Aber ich hab die ganze Zeit rumgefuchtelt, dass ich nich mehr weiß wie sie richtig funktioniert

Das Problem ist sie berechnet die ganze zeit falsch!
Ich denke mal das ist ein kleiner Fehler der mir immer wieder entwischt ist.
Hier mal das Script:
<?php
/*
* Created on 23.08.2006 00:12:02
*
* Filename: changepage.php
* Project: brimberry.net_design
* Copyright (C) 2006 by Robert Brimberry
*/
$proseite = 15;
include("config.php");
if ($_GET['view']) {
$temp = $proseite * 3;
$von = $_GET['view'] - $temp;
$eintragsstart = $_GET['view'] * $proseite;
} else {
$temp = 0;
$von = 0;
$eintragsstart = 0;
}
if($temp<=0) {
$temp = 0;
}
if($von<=0) {
$von = 0;
}
if($eintragsstart<=0) {
$eintragsstart = 0;
}
$query1 = "SELECT *
FROM `changelog`
ORDER BY `id` DESC";
$result1 = mysql_db_query($dbname,$query1) or die;
$number = 16; // Hier bitte manuell die Eintragswerte ändern ;)
// $number = mysql_num_rows($result1);
$pruef=$proseite * 4;
$temp1= $von + $pruef;
$noch = $number - $temp1;
$prox3 = $proseite * 3;
if ($noch > $number) {
$noch = $number - $von;
}
$bis = $von + $noch;
$seiten=$number / $proseite;
$start=$page * $proseite;
echo $number." Einträge";
for($i=$von; $i<=$bis; $i++) {
if ($i==$_GET['view']) {
$seite=$i+1;
echo "Seite ".$seite." | ";
} else {
$seite=$i+1;
echo "<a href=\"index.php?request=changelog&view=".$i."\">$seite</a> | ";
}
}
// ggf. hier das entfernen. Soll nur als Hilfe dienen
echo "<br /><br />Variabeln-TEST<br /><br />";
echo "\$proseite = ".$proseite."<br />";
echo "\$temp = ".$temp."<br />";
echo "\$von = ".$von."<br />";
echo "\$eintragsstart = ".$eintragsstart."<br />";
echo "\$_GET['view'] = ".$_GET['view']."<br />";
echo "\$query1 = ".$query1."<br />";
echo "\$result1 = ".$result1."<br />";
echo "\$number = ".$number."<br />";
echo "\$pruef = ".$pruef."<br />";
echo "\$temp1 = ".$temp1."<br />";
echo "\$noch = ".$noch."<br />";
echo "\$bis = ".$bis."<br />";
echo "\$seiten = ".$seiten."<br />";
echo "\$start = ".$start."<br />";
echo "\$pruef = ".$pruef."<br />";
echo "\$temp1 = ".$temp1."<br />";
echo "\$i = ".$i."<br />";
?>
/*
* Created on 23.08.2006 00:12:02
*
* Filename: changepage.php
* Project: brimberry.net_design
* Copyright (C) 2006 by Robert Brimberry
*/
$proseite = 15;
include("config.php");
if ($_GET['view']) {
$temp = $proseite * 3;
$von = $_GET['view'] - $temp;
$eintragsstart = $_GET['view'] * $proseite;
} else {
$temp = 0;
$von = 0;
$eintragsstart = 0;
}
if($temp<=0) {
$temp = 0;
}
if($von<=0) {
$von = 0;
}
if($eintragsstart<=0) {
$eintragsstart = 0;
}
$query1 = "SELECT *
FROM `changelog`
ORDER BY `id` DESC";
$result1 = mysql_db_query($dbname,$query1) or die;
$number = 16; // Hier bitte manuell die Eintragswerte ändern ;)
// $number = mysql_num_rows($result1);
$pruef=$proseite * 4;
$temp1= $von + $pruef;
$noch = $number - $temp1;
$prox3 = $proseite * 3;
if ($noch > $number) {
$noch = $number - $von;
}
$bis = $von + $noch;
$seiten=$number / $proseite;
$start=$page * $proseite;
echo $number." Einträge";
for($i=$von; $i<=$bis; $i++) {
if ($i==$_GET['view']) {
$seite=$i+1;
echo "Seite ".$seite." | ";
} else {
$seite=$i+1;
echo "<a href=\"index.php?request=changelog&view=".$i."\">$seite</a> | ";
}
}
// ggf. hier das entfernen. Soll nur als Hilfe dienen
echo "<br /><br />Variabeln-TEST<br /><br />";
echo "\$proseite = ".$proseite."<br />";
echo "\$temp = ".$temp."<br />";
echo "\$von = ".$von."<br />";
echo "\$eintragsstart = ".$eintragsstart."<br />";
echo "\$_GET['view'] = ".$_GET['view']."<br />";
echo "\$query1 = ".$query1."<br />";
echo "\$result1 = ".$result1."<br />";
echo "\$number = ".$number."<br />";
echo "\$pruef = ".$pruef."<br />";
echo "\$temp1 = ".$temp1."<br />";
echo "\$noch = ".$noch."<br />";
echo "\$bis = ".$bis."<br />";
echo "\$seiten = ".$seiten."<br />";
echo "\$start = ".$start."<br />";
echo "\$pruef = ".$pruef."<br />";
echo "\$temp1 = ".$temp1."<br />";
echo "\$i = ".$i."<br />";
?>
Also bei der Variabel $proseite wird angegeben, wie viel Seiten pro Seite ausgegeben werden sollen.
Bei $number muss man manuell einstellen wie viele Einträge vorhanden sind (wird normal automatisch gemacht, aber habe die funktion mal deaktiviert um es einfacher mal zu Testen).
Dann habe ich unten extra TEST-Variabeln ausgegeben. Die sorgen dafür auch nochma eine Hilfe zu haben.
Das Problem ist, dass das Script bei 0-15 Einträgen nicht die Seite 1 generiert, und ab 16 - 30 Einträgen noch nicht die 2. Seite und so weiter.
Vielleicht kann mir einer helfen. Bin mittlerweile schon voll durcheinander..
Mit freundlichen Grüßen
brimberry
brimberry
Show profile
Link to this post
und hier zeigen