Ausgabe von mehreren Seiten !

skype20

Mitglied
Tag ..

Ich habe versucht bei einer suchanfrage das Ergebnis auf mehreren seiten auszugeben sprich wenn die sucheanfrage 3 user findet dann kreiere eine 2 seite ... Leider ist mir das nicht gelungen wenn ich immer einen usernamen eingebe, gibt er mir alles aus. Ich denke er erkennt meine $entrie variable nicht.

hier mal der code:

PHP:
/* mitglieder suche */

$entrie=mysql_real_escape_string($_POST['username']);

  $maxusers = 2;
$alle = safe_query("SELECT * FROM `".PREFIX."user` AS usr INNER JOIN `".PREFIX."buddys` AS b ON usr.userID = b.buddy  WHERE b.userID = $userID AND b.banned=0 AND nickname LIKE '%".$entrie."%'");
$gesamt = mysql_num_rows($alle);
$pages = ceil($gesamt/$maxusers);

if(isset($_GET['page'])) $page=(int)$_GET['page'];
else $page = 1;
$sort="usr.userID";
if(isset($_GET['sort'])){
  if(($_GET['sort']=='usr.userID') || ($_GET['sort']=='date')) $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=buddysearch&sort=$sort&type=$type", $page, $pages);
else $page_link='';

if($page == "1") {
     $ergebnis = safe_query("SELECT * FROM `".PREFIX."user` AS usr INNER JOIN `".PREFIX."buddys` AS b ON usr.userID = b.buddy  WHERE b.userID = $userID AND b.banned=0 AND nickname LIKE '%".$entrie."%'ORDER BY ".$sort." ".$type." LIMIT 0,".$maxusers);
     if($type=="DESC") $n=$gesamt;
     else $n=1;
}
else {
     $start=$page*$maxusers-$maxusers;
     $ergebnis = safe_query("SELECT * FROM `".PREFIX."user` AS usr INNER JOIN `".PREFIX."buddys` AS b ON usr.userID = b.buddy  WHERE b.userID = $userID AND b.banned=0 AND nickname LIKE '%".$entrie."%' ORDER BY ".$sort." ".$type." LIMIT ".$start.",".$maxusers);
     if($type=="DESC") $n = ($gesamt)-$page*$maxusers+$maxusers;
     else $n = ($gesamt+1)-$page*$maxusers+$maxusers;
}
eval("\$result_usersearch_head = \"".gettemplate("buddysearch_head")."\";");
echo $result_usersearch_head;

if(!is_numeric($entrie)) {
echo '<table style="margin-top:0em;margin-left:0em;" width="100%" border="0" cellspacing="0" cellpadding="0" >';
$n = 1;
if($ergebnis) {
 if(mysql_num_rows($ergebnis)==0)  echo '&bull; Es wurde kein Benutzer gefunden.';
while($sm=mysql_fetch_array($ergebnis)) {
$avatar='<img style="height:70px;width:70px;" src="images/avatars/'.getavatar($sm['avatar']).'" alt="" />';
$avatar = '<a style="color: #000000;" href="index.php?site=profile&amp;id='.$sm['buddy'].'">'.$avatar.'</a>';
$nickname = '<a href="index.php?site=profile&id='.$sm['userID'].'">'.$sm['nickname'].'';
$nickname = htmlspecialchars($sm['nickname']);
if(strlen($nickname) > 7) $nickname = substr($nickname, 0,7).'...';




eval("\$result_usersearch = \"".gettemplate("buddysearch")."\";");
echo $result_usersearch;



 $n++;
  }
 }

 echo '</table>';
 eval ("\$result_usersearch_foot = \"".gettemplate("buddysearch_foot")."\";");
     echo $result_usersearch_foot;

 echo '<div class="sm_back"><a href="index.php?site=registered_users"></a></div>';
   return false;


  }

   echo '<div class="sm_back"><a href="index.php?site=registered_users">zur&uuml;ck</a></div>';
   return false;
/* mitglieder suche ende*/

?>


PREFIX = ws_b9l_ (Teil name der DB). Ich habe auch id und name überprüft in entsprechenden template.

Danke für jede Antwort.
 
Schwer zu sagen was nicht geht.
Was macht safe_query() ?

Prüfe doch mal den SQL-String bevor du ihn absetzt -> PHP MySQL Debug Queries

Nachtrag: Ich hab nur die ersten 10 Zeilen angeschaut. Hab keine Lust alles durchzugehen. Es lohnt sich für Fragen den Code auf den wesentlichen Teil zu kürzen
 
Zurück