Userpoint selber codiert

Begonnen von asiastyle, 06 November 2003, 03:30:13

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

asiastyle

Hallo
Ich habe selber einen Userpoint codiert und möchte das es zuerst 10 am meisten Punkte von weiblichen Member anzeigt und darunter 10 am meisten Punkte von männlichen Member anzeigt. Doch es zeigt immer nur die weiblichen Member mit Punkte an und darunter Leer. Obwohl ich genau gleich codiert habe für männliche Member!
?????


<?php
#### generated by module creator - www.moffstarr.com ####
if (!eregi("modules.php", $PHP_SELF)) {
   die ("You can't access this file directly...");

}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
include("header.php");
$index = 0;
OpenTable();

global $user, $prefix;        
$resultat = mysql_query("SELECT * FROM ".$prefix."_userpoints AS p, ".$prefix."_users AS u where p.uid=u.uid order by p.punkte desc LIMIT 0,10");
 

echo"<p align=\"center\">Top 10 most PowerPoints-Member</p>"
  . "<p>Girls</p>"
  . "<table width=\"100%\" border=\"0\">";
 
 
$i = 1;
while ($sql = mysql_fetch_array($resultat)) {
   if ($sql[geschlecht] == "female") {  
echo"        <tr> "
  . "          <td width=\"5%\">1.</td>"
  . "          <td width=\"15%\"><img src=\"images/membersfoto/$sql[uname].jpg\" width=\"50\" height=\"50\" border=\"1\"></td>"
  . "          <td width=\"40%\"><a href=\"modules.php?name=Your_Account&op=userinfo&uname=".$sql[uname]."\">$sql[uname]</a></td>"
  . "          <td width=\"40%\"><b>$sql[punkte]</b></td>"
  . "        </tr>";
$i++;
   }
}
 
 
echo"</table>"
  . "<p>Boys</p>"
  . "<table width=\"100%\" border=\"0\">";
 
 
$i = 1;
while ($sql = mysql_fetch_array($resultat)) {
   if ($sql[geschlecht] == "male") {  
echo"        <tr> "
  . "          <td width=\"5%\">1.</td>"
  . "          <td width=\"15%\"><img src=\"images/membersfoto/$sql[uname].jpg\" width=\"50\" height=\"50\" border=\"1\"></td>"
  . "          <td width=\"40%\"><a href=\"modules.php?name=Your_Account&op=userinfo&uname=".$sql[uname]."\">$sql[uname]</a></td>"
  . "          <td width=\"40%\"><b>$sql[punkte]</b></td>"
  . "        </tr>";
$i++;
   }
}
 
 
echo"</table>"
 ."";
 
 
CloseTable();
include("footer.php");

?>


asiastyle

Hat da niemand eine Idee wie ich das programmieren kann?

Andi

Hi Jason :)

hier:
$resultat = mysql_query("SELECT * FROM ".$prefix."_userpoints ........
fragst Du die Datenbank 1x ab
Mit durchlaufen der ersten Schleife steht der Zeiger des resultsets ($resultat) auf dem letzten Datensatz.
Die zweite Schleife beginnt also nach dem letzten Datensatz, es sind aber keine weiteren vorhanden...
Das Einfachste ist, wenn Du die Datenbankabfrage vor der zweiten Schleife nochmal ausführst.
Dann kannst Du gleich bei beiden Abfragen mit "WHERE u.geschlecht = 'xx'" die Bedingung einschränken und erhälst auch für beide Geschlechter wirklich exakt 10 Datensätze
schön´s Grüssle, Andi