Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyświetlenie miejsca w rankingu
Lethys
post
Post #1





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Witam,

Posiadam na swojej stronie ranking userów, który działa na podstawie punktów.

Chciałbym w szybki, łatwy sposób wyświetlić aktualne moje miejsce w rankingu.

Obecnie to wygląda tak:

  1.  
  2. $liczba_userow = @mysql_num_rows(mysql_query("select * from uzytkownicy"));
  3.  
  4. $tsel = mysql_query("select * from uzytkownicy order by punkty desc limit $liczba_userow");
  5. while ($top = mysql_fetch_array($tsel)){
  6.  
  7. $miejsce = $miejsce+1;
  8. $twoja_pozycja = 0;
  9.  
  10. $stat = mysql_fetch_array(mysql_query("select * from uzytkownicy where email='$email' and pass='$haslo'"));
  11.  
  12.  
  13. if ($stat[nazwisko] == $top[nazwisko]){
  14.  
  15.  
  16. $twoja_pozycja = $miejsce;
  17.  
  18. }
  19.  
  20. //wyświetlenie pozycji
  21. print "$twoja_pozycja";
  22.  


Nie da się tego zrobić w jakiś prostszy sposób?


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
daniofantasy
post
Post #2





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 14.06.2007
Skąd: Chesterfield UK

Ostrzeżenie: (0%)
-----


bo masz odpowiedz z mysql w postaci resource i powinienes przypisac ja do tablicy zeby cos z tego powyciagac

wrzuc zapytanie w te sprytna funkcyjke (ale najpierw sie polacz z db (IMG:style_emoticons/default/biggrin.gif) ) :

  1. /**
  2.  * Returns db query as an assoc array
  3.  *
  4.  * @param String $query
  5.  * @return array
  6.  */
  7.  
  8. function dbSelectAssoc($sQuery) {
  9. $rResult = mysql_query($sQuery);
  10. if (sizeof($rResult) > 0 && !empty($rResult) && @mysql_num_rows($rResult) != 0)
  11. while($aResult = mysql_fetch_assoc($rResult))
  12. $aResults[] = $aResult;
  13. return $aResults;
  14. }


i zwroci Ci tablice asocjacyjna

potem odpal na niej foreach:

  1. $moje punkty = 10 # zmienna testowa - w nia pakujesz swoje punkty
  2. $x = 0;
  3.  
  4. if (sizeof($aResults) > 0)
  5. foreach ($aResults as $aCurrRes)
  6. if ($aCurrRes['punkty'] < $moje_punkty) $x++;


i pod zmienna $x masz ilosc osob z mniejsza iloscia punktow (IMG:style_emoticons/default/smile.gif)

Ten post edytował daniofantasy 19.03.2012, 12:07:28
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 19:12