nach Sortierung Seiten durchblättern
sun
- php
Hallo,
ich hab da ein Problem und hoffe, dass mir jemand helfen kann.
Ich habe eine Abfrage an meine Datenbank gestartet. Dies kann ich durchblättern.
Bishier funktioniert ja auch noch alles.
Aber wenn ich die Abfrage sortiert habe und dann das sortierte durchblättern möchte, springt er mir immer wieder in die Gesamtabfrage.
Wie kann ich das am einfachsten verhindern ohne für jede Sortierung eine neue Ausgabe zu schreiben?
Danke
Hier mal ein Ausschnitt des Codes:
$Zeilen_pro_Seite = 2;
if (!isset($Anfangsposition))
{ $Anfangsposition = 0;
}
switch($action)
{ case 0: if ($ids != '')
{ $result = mysql_query("SELECT id,name,datum,ortver FROM veranstaltung WHERE id='$ids'");
$anz = mysql_num_rows($result); break; }
elseif ($datums != '')
{ $result = mysql_query("SELECT id,name,datum,ortver FROM veranstaltung WHERE datum='$datums' LIMIT $Anfangsposition,$Zeilen_pro_Seite");
$anz = mysql_num_rows($result); break; }
elseif ($names != '')
{ $result = mysql_query("SELECT id,name,datum,ortver FROM veranstaltung WHERE name='$names' LIMIT $Anfangsposition,$Zeilen_pro_Seite");
$anz = mysql_num_rows($result); break; }
else
{ $result = mysql_query("SELECT id,datum,name,ortver FROM veranstaltung LIMIT $Anfangsposition,$Zeilen_pro_Seite");
$anz = mysql_num_rows($result); break; }
case 1: $result = mysql_query("SELECT id,name,datum,ortver FROM veranstaltung LIMIT $Anfangsposition,$Zeilen_pro_Seite");
break;
case 2: $result = mysql_query("SELECT id,name,datum,ortver FROM veranstaltung ORDER BY id LIMIT $Anfangsposition,$Zeilen_pro_Seite");
$result1 = mysql_query("SELECT id FROM veranstaltung");
$anz = mysql_num_rows($result1);
break;
case 3: $result = mysql_query("SELECT id,name,datum,ortver FROM veranstaltung ORDER BY id DESC LIMIT $Anfangsposition,$Zeilen_pro_Seite");
$result1 = mysql_query("SELECT id FROM veranstaltung");
$anz = mysql_num_rows($result1);
break;
case 4: $result = mysql_query("SELECT id,name,datum,ortver FROM veranstaltung ORDER BY datum LIMIT $Anfangsposition,$Zeilen_pro_Seite");
$result1 = mysql_query("SELECT id FROM veranstaltung");
$anz = mysql_num_rows($result1);
break;
case 5: $result = mysql_query("SELECT id,name,datum,ortver FROM veranstaltung ORDER BY datum DESC LIMIT $Anfangsposition,$Zeilen_pro_Seite");
$result1 = mysql_query("SELECT id FROM veranstaltung");
$anz = mysql_num_rows($result1);
break;
while ($row = mysql_fetch_array($result))
{ $id = $row["id"];
$datum = $row["datum"];
$name = $row["name"];
$ortver = $row["ortver"];
echo "<tr>";
echo "<td width='150'></td>
<td width='15'><input type='radio' name='radiobutton' value='radiobutton'></td>
<td width='80' align='center'>$id</td>
<td width='100' align='center'>$datum</td>
<td width='130' align='center'>$name</td>
<td width='125' align='center'>$ortver</td>";
}
echo "</tr>";
echo "<tr><td colspan='6'> </td></tr>";
echo "<tr>";
echo "<td width='150'> </td>";
echo "<td width='15'> </td>";
echo "<td width='80'> </td>";
echo "<td width='100' align='center'><input type='submit' name='arbeit' value='Bearbeiten'>
<input type='hidden' value='10' name='action'></td>";
echo "<td width='130' align='center'><input type='submit' name='löschen' value='Löschen'>
<input type='hidden' value='11' name='action'></td>";
echo "<td width='125' align='center'><input type='submit' name='zeige' value='Anzeigen'>
<input type='hidden' value='12' name='action'></td>";
echo "</tr>";
echo "</tr></table>";
$result1 = mysql_query("SELECT id FROM veranstaltung");
$anz = mysql_num_rows($result1);
echo "<table border='0'><tr>
<td width='210'> </td>";
if($Anfangsposition > 0)
{ echo "<td colspan='2'><a href='bearbeiten3.php3?Anfangsposition=0'>
[erste Seite]</a> ";
$back = $Anfangsposition-$Zeilen_pro_Seite;
if($back < 0)
{ $back = 0;
}
echo "<a href="bearbeiten3.php3?Anfangsposition=$back">
[Zurück]</a></td>";
}
echo "</tr><tr>
<td width='210'> </td>
<td><table bordercolor='red' border='0'>";
if($anz > $Zeilen_pro_Seite)
{ $Seiten = intval($anz/$Zeilen_pro_Seite);
if($anz%$Zeilen_pro_Seite)
{ $Seiten++;
}
}
for ($i=1;$i<=$Seiten;$i++)
{ $fwd = ($i-1)*$Zeilen_pro_Seite;
echo "<td width='25' align='center'><a href="bearbeiten3.php3?Anfangsposition=$fwd">
$i</a></td>";
}
echo "</table></td></tr><tr>
<td width='210'> </td>";
if($Anfangsposition < $anz-$Zeilen_pro_Seite)
{ $fwd = $Anfangsposition+$Zeilen_pro_Seite;
echo "<td colspan='2'><a href="bearbeiten3.php3?Anfangsposition=$fwd">
[Weiter]</a> ";
$fwd = $anz-$Zeilen_pro_Seite;
echo "<a href="bearbeiten3.php3?Anfangsposition=$fwd">
[letzte Seite]</a></td>";
}
Hi,
Aber wenn ich die Abfrage sortiert habe und dann das sortierte durchblättern möchte, springt er mir immer wieder in die Gesamtabfrage.
augenscheinlich ist dies abhängig vom Wert in $action. Leider sehe ich nirgendwo, wie dieser Wert deklariert wird; hier wird aber vermutlich der Fehler liegen.
Cheatah
Hallo,
augenscheinlich ist dies abhängig vom Wert in $action. Leider sehe ich nirgendwo, wie dieser Wert deklariert wird; hier wird aber vermutlich der Fehler liegen.
ja ich weiß, dass das mit dem $action zusammen hängt. ich muss irgendwie dies überwinden.
denn wenn er die zweite seite aufruft, dann kommt er nicht in die switch und somit geht die sortierung verloren
wenn ich in die switch reinkomme, dann muss ich im ja auch noch sagen, dass jetzt der "zweite" teil der sortierung ausgegeben werden soll und nicht wieder von anfang an
ich kann auch nicht den wert einfach übergeben, weil ja unterschiedliche sortierungen vorhanden sind
sun