Suchanfrage auf mehrern Seiten verteilen !

Demnach müsste hier

PHP:
$ergebnis = safe_query("SELECT SQL_CALC_FOUND_ROWS * FROM `".PREFIX."user`{$wherestring} ORDER BY ".$sort." ".$type." LIMIT ".$start.",".$maxusers);

das Statement

Code:
SELECT SQL_CALC_FOUND_ROWS * FROM `user` ORDER BY nickname ASC LIMIT 3, 2

entstehen. Prüfe das mal indem Du dir das Statement ausgeben lässt.

PHP:
$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM `".PREFIX."user`{$wherestring} ORDER BY ".$sort." ".$type." LIMIT ".$start.",".$maxusers;
echo $sql."<br />";
$ergebnis = safe_query($sql);

Führe das mal im phpmyadmin direkt aus.
 
Das Problem wird wahrscheinlich sein, dass nach dem Klick auf den Link, der zur zweiten Seite führt, das $_POST-Array leer ist und somit keine WHERE-Bedingungen mehr vorhanden sind.
Du musst entweder die Suchabfrage in der Datenbank speichern und deren ID beim aufrufen aller Ergebnis-Seiten mitgeben. Oder du übergibst als GET-Parameter den Suchterm an sich, also beispielsweise:
Code:
index.php?site=registered_users&sort=nickname&type=ASC&page=1&term=misterx

Gruß
Erik
 
@threadi,

Ich habe das getan was du mir geschrieben hast.Und bin auf folgendes Ergebnis gekommen .

PHP:
SELECT SQL_CALC_FOUND_ROWS * FROM `ws_b9L_user` ORDER BY nickname ASC LIMIT ,3

@erik s.

Wie übergebe ich den GET-Parameter einen Suchterm das müsstet du mir bitte näher erklären da ich nicht so gut in PHP bin.

Nochmals danke für die Antworten.
 
Bei dem Statement siehst Du ja sicher deutlich, dass der Startpunkt beim LIMIT fehlt. Prüfe also, wieso die Variable $start dort nicht existiert.

Und wg. den Suchbegriffen: Du müsstest diese nur zur URL ergänzen. Beispiel:

PHP:
if($_POST["send"]) {
 ..
 $sex = $_POST["sex"];
 ..
}
else
{
 ..
 $sex = $_GET["sex"];
 ..
}
..
makepagelink("index.php?site=registered_users&amp;sort=$sort&amp;type=$type&amp;sex=".$sex, $page, $pages);
..
 
@Threadi , ich habe $start kontrolliert und habe kein Fehler gefunden.Also bin ich auf den 2. Link gegangen und der zeigt mir an das $start existiert
PHP:
SELECT SQL_CALC_FOUND_ROWS * FROM `ws_b9L_user` ORDER BY nickname ASC LIMIT 3,3

Irgendwie denke ich das der Vorschlag von erik s. stimmen könnte denn wenn ich einen einfachen MySql befehl speicher sprich.

PHP:
SELECT SELECT SQL_CALC_FOUND_ROWS * FROM ws_b9L_user WHERE sex = 'm'ORDER BY nickname ASC LIMIT 3,3

Dann klappt alles wie gehabt. Irgendwie denke ich das es an $wherestring liegt. Denn ich habe auch eine Meldung von error reporting bekommen und die sieht wie folgt aus

PHP:
Notice: Undefined variable: wherestring in C:\xampplite\htdocs\webspell\registered_users.php on line 68

lg skype20,
 
Zurück