Hallo leute ich bin ein Php Anfänger und habe folgendes Problem wo mir bisher keiner weiterhelfen konnte.Ich möchte gerne das von Usern gefilterte Suchergebnisse auf mehrere Seiten verteilt werden(paging). kurzes Beispiel:
Wenn 10 Suchergebnisse vorhanden sind richte 2. Seite an. Mein Problem ist das jetzt meine Variable $wherestring auf den klick der 2 Seite leer ist.Ich habe dies versucht mittels url zu lösen aber es klappt nicht. Ich hoffe ihr könnt mir hier weiterhelfen bin echt verzweifelt ...
grüße skype90
Wenn 10 Suchergebnisse vorhanden sind richte 2. Seite an. Mein Problem ist das jetzt meine Variable $wherestring auf den klick der 2 Seite leer ist.Ich habe dies versucht mittels url zu lösen aber es klappt nicht. Ich hoffe ihr könnt mir hier weiterhelfen bin echt verzweifelt ...
PHP-Code:
// Prüfen ob das Formular gesendet wurde
if(isset($_GET['submit'])){
// Array initializieren. Falls kein argument angegeben wurde,
// dann ist die Argumentliste ein leeres Array
$wheres = array();
//Jedes Feld prüfen und ggf in den Where-Array einfügen
if($_GET['************']) $wheres[] = "************='{$_GET['************']}'";
if($_GET['land']) $wheres[] = "land='{$_GET['land']}'";
if($_GET['username']) $wheres[] = "nickname LIKE '%{$_GET['username']}%'";
if($_GET['state']) $wheres[] = "state='{$_GET['state']}'";
if($_GET['status']) $wheres[] = "status='{$_GET['status']}'";
if($_GET['Alter_von']) $wheres[] = "age between '{$_GET['Alter_von']}'AND '{$_GET['Alter_bis']}'";
if($_GET['Alter_bis']) $wheres[] = "age between '{$_GET['Alter_von']}'AND '{$_GET['Alter_bis']}'";
// WHERE-Tel des SQL-String zusammenstellen
if(count($wheres)>0) $wherestring = "WHERE ".implode(' AND ', $wheres);
//SQL-String zusammensetzen
$sql = mysql_query("SELECT * FROM `".PREFIX."user`{$wherestring}");
//TODO: Sql an die DB absetzen
}
// Anzahl der Mitglieder
$user_count= safe_query("SELECT * FROM ".PREFIX."user ");
$user_results= mysql_num_rows($user_count);
// Anzahl der Mitglieder
$maxusers = 2;
$alle = safe_query("SELECT * FROM `".PREFIX."user`{$wherestring}");
$gesamt = mysql_num_rows($alle);
$pages = ceil($gesamt/$maxusers);
if(isset($_GET['page'])) $page=(int)$_GET['page'];
else $page = 1;
$sort="nickname";
if(isset($_GET['sort'])){
if(($_GET['sort']=='country') || ($_GET['sort']=='nickname') || ($_GET['sort']=='lastlogin') || ($_GET['sort']=='registerdate')) $sort=$_GET['sort'];
}
$type="ASC";
if(isset($_GET['type'])){
if(($_GET['type']=='ASC') || ($_GET['type']=='DESC')) $type=$_GET['type'];
}
if($pages>1) $page_link = makepagelink("index.php?site=registered_users&sort=$sort&type=$type&************=".$************."&land=".$land."&nickname=".$nickname."&state=".$state."&status=".$status."&Alter_von=".$Alter_von."&Alter_bis=".$Alter_bis, $page, $pages);
else $page_link='';
if($page == "1") {
$ergebnis = safe_query("SELECT * FROM `".PREFIX."user`{$wherestring} ORDER BY ".$sort." ".$type." LIMIT 0,".$maxusers);
if($type=="DESC") $n=$gesam;
else $n=1;
}
else {
$start=$page*$maxusers-$maxusers;
$ergebnis = safe_query("SELECT * FROM `".PREFIX."user`{$wherestring} ORDER BY ".$sort." ".$type." LIMIT ".$start.",".$maxusers);
if($type=="DESC") $n = ($gesamt)-$page*$maxusers+$maxusers;
else $n = ($gesamt+1)-$page*$maxusers+$maxusers;
}
Kommentar