LIMIT wird ignoriert

  • #1
N

noah1

Bekanntes Mitglied
Themenersteller
Dabei seit
16.08.2002
Beiträge
1.415
Reaktionspunkte
0
Ort
Hamburg
Ich habe in mein Gästebuch eine Blätterfunktion eingebaut, beim Aufruf des Gästebuchs werden die ersten 10 Einträge gezeigt und zwei Links, einmal Seite vor und letzte Seite, ab der zweiten Seite kommen noch erste Seite und Seite zurück dazu.
Das funktioniert auch soweit.
Jetzt habe ich eine Funktion zum Auswählen der Anzahl der angezeigten Einträge pro Seite hinzugefügt,
und da fängt mein Problem an.

in der guests.inc.php, also der Datei zum Anzeigen des Gästebuches steht folgendes:
Code:
<?php
 $start = $_GET['start'];                        #Der erste anzuzeigende Eintrag
  $eintraege_pro_seite = $_GET['eintraege_pro_seite'];

  $ende = $start + $eintraege_pro_seite;         #Der letzte anzuzeigende Eintrag

...

$sql = mysql_query(SELECT * FROM gb_eintr WHERE aktiv =->Ja' order by id DESC LIMIT $start, $ende); 

...
       
?>
und in der guests_eps.inc.php, das Formular zum Auswählen der Anzahl (variable $eintraege_pro_seite steht:
Code:
<?php
	echo
	 <form style='font: 10px verdana; font-weight: bold;' action='index.php?go=gaestebuch&start=$start' method='get'>		
			<input type='hidden' name='go' value='gaestebuch'>
			<input type='hidden' name='start' value='$start'>
				<select style='border:0px; font: 9px verdana; font-weight: bold;' name='eintraege_pro_seite'>
					<option>$eintraege_pro_seite</option>
							<option>5</option>
								<option>10</option>
									<option>15</option>
										<option>20</option>
							</select>
							<input style='font: 10px verdana; font-weight: bold; border: 0px; background-color: white; cursor: pointer' type='submit' value='Einträge pro Seite'>
							</form>;
						?>

Über den Link im Menü
Code:
index.php?go=gaestebuch&start=0&eintraege_pro_seite=10
klappt das auch, erst werden mir die ersten 10 Einträge angezeigt und beim Click auf Seite vor werden mir die letzen 2 (Ich hab testweise 12 Einträge drin) angezeigt.
Wenn ich dann aber auswähle daß 5 Einträge angezeigt werden sollen bekomme ich auf der ersten Seite die neuesten 5 Einträge, auf der zweiten Seite die restlichen 7 und auf der dritten Seite nochmal die letzten 2 Einträge angezeigt. :eek:
Die Variable $ende wird aber richtig berechnet, nur warum werden dann nicht nur die Einträge zwischen $start und $ende aus der DB angezeigt ?
 
  • #2
Ich hab es selber rausgefunden, der code sieht jetzt so aus:
Code:
$sql = mysql_query(SELECT * FROM gb_eintr WHERE aktiv =->Ja' order by id DESC LIMIT $start, $eintraege_pro_seite);
und es funzt...
 
Thema:

LIMIT wird ignoriert

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben