Hallo,
Ich habe dieses Problem in unzähligen Foren gepostet keiner konnte mir wirklich weiterhelfen. Es geht um ein Suchergebnis auf mehrere Seiten zu verteilen. Das habe ich in gewisser Weise auch geschafft. Das Problem ist die Variable $wherestring das auf dem klicken der 2 Seite leer ist sprich das Post Array ist auf das klicken der 2. Seite leer und somit kriege ich alle User wieder angezeigt. Zum Vorschlag wurden mir : Session,Url-parameter und die sql abfrage in eine Datenbank zwischen speichern genannt. Jedoch bin ich nicht so gut in php um das zu realisieren oder habs so teilweise probiert aber es hat nicht geklappt. Deshlab frage ich hier um HILFE das problem belastet mich seit 3 Wochen ungefähr und will meine Homepage endlich hochladen.
Ich DANKE für jede hilfreiche Antwort.
skype90
Ich habe dieses Problem in unzähligen Foren gepostet keiner konnte mir wirklich weiterhelfen. Es geht um ein Suchergebnis auf mehrere Seiten zu verteilen. Das habe ich in gewisser Weise auch geschafft. Das Problem ist die Variable $wherestring das auf dem klicken der 2 Seite leer ist sprich das Post Array ist auf das klicken der 2. Seite leer und somit kriege ich alle User wieder angezeigt. Zum Vorschlag wurden mir : Session,Url-parameter und die sql abfrage in eine Datenbank zwischen speichern genannt. Jedoch bin ich nicht so gut in php um das zu realisieren oder habs so teilweise probiert aber es hat nicht geklappt. Deshlab frage ich hier um HILFE das problem belastet mich seit 3 Wochen ungefähr und will meine Homepage endlich hochladen.
PHP:
// Prüfen ob das Formular gesendet wurde
if(isset($_POST['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($_POST['sex']) $wheres[] = "sex='{$_POST['sex']}'";
if($_POST['land']) $wheres[] = "land='{$_POST['land']}'";
if($_POST['username']) $wheres[] = "nickname LIKE '%{$_POST['username']}%'";
if($_POST['state']) $wheres[] = "state='{$_POST['state']}'";
if($_POST['status']) $wheres[] = "status='{$_POST['status']}'";
if($_POST['Alter_von']) $wheres[] = "age between '{$_POST['Alter_von']}'AND '{$_POST['Alter_bis']}'";
if($_POST['Alter_bis']) $wheres[] = "age between '{$_POST['Alter_von']}'AND '{$_POST['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 = 60;
$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", $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;
}
Ich DANKE für jede hilfreiche Antwort.
skype90