Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie wyników TOP 10
Forum PHP.pl > Forum > PHP
filipsiu
Witajcie!
Robię TOP10:
posiadam sobie taki kod:
  1. <?php
  2. $results = mysql_query("SELECT user_name, user_points from users order by user_name DESC LIMIT 10");
  3. while ($row = mysql_fetch_array($results))
  4. {
  5. echo $row['user_name'];
  6. echo $row['user_points'];
  7. }
  8. ?>

lecz jedyne co on wyświetla to
Filipsiu51230
kiedy w bazie jest ok. 56 rekordów.
Struktura bazy:
user_id user_name user_password user_email user_regdate user_points


Co tu jest nie tak zapytanie ? czy wyświetlanie danych ?
tab
po 1. uzywanie mysql_* jest przestrzarzałe i uzywa sie teraz PDO.

po za tym zapomniales o nazwie tabeli po FROM, a w ogole to moze sprobuj tak:

  1. foreach ($row as $row)
  2. {
  3. echo $row['user_'name'].' '.$row['user_points'].'<br>';
  4. }


w PDO całosc wygladalaby tak:

  1. $pdo = new PDO('host', 'login', 'haslo');
  2. $stmt=$pdo->query('odpowiednie zapytanie')
  3. foreach ($stmt as $row)
  4. {
  5. echo $row['user_'name'].' '.$row['user_points'].'<br>';
  6. }
  7. $stmt->closeCursor();
filipsiu
"SELECT user_name, user_points from users o

mam przecież from users

twój podany sposób nie działa ;/
nospor
@filipsiu kod co podałeś to cały kod, czy może w tej pętli coś jeszcze jest, coś, co pominąłeś?
filipsiu
@nospor mam tak:
  1. <div id="launcher" class="clearit">
  2. <div id="launcherWrapper">
  3. <?php
  4. $results = mysql_query("SELECT user_name, user_points FROM users order by user_name DESC LIMIT 10");
  5. while ($row = mysql_fetch_array($results))
  6. {
  7. echo $row['user_name'];
  8. echo $row['user_points'];
  9. }
  10. ?>
  11. </div>
  12. </div>
nospor
W takim razie kod co tu pokazałeś jest kodem poprawnym i zwracać powinien max 10 rekordów. Jeśli zwraca ci tylko jeden, znaczy że jednak w tabeli masz tylko jeden rekord smile.gif

A może pozostali userzy mają zamiast nazwy puste pola?
filipsiu
http://imageshack.us/f/341/przechwytywaniecy.jpg/

tak to m.w. wygląda




Dobra problem rozwiązany, coś z bazą było nie tak.


Na szybkiego żeby nie tworzyć 2 tematu:
wiecie może jak zrobić liczbę przy pozycji?
mam tak:
rykox99 0
owk 0
michau 0
malinowykox 0
Filipsiu5 0
Filipsiu3 0
filipsiu2 0
Filipsiu 5
andrzej 0
123 0

jak zrobić by przy pozycji były liczby tzn
1. rykox99 0
2. owk 0
itd.
+ do tego nie układa mi wg. ilości punktów ;/
Greg0
Numerowana lista:
http://www.w3schools.com/tags/tag_ol.asp

A nie układa się po ilości punktów bo nie wykonałeś zapytania jakbyś chciał żeby układało po ilości punktów.
http://www.w3schools.com/sql/sql_orderby.asp
filipsiu
nie układało się bo miałem order by user_name to już poprawiłem




TEMAT DO ZAMKNIĘCIA
DZIĘKUJĘ WSZYSTKIM UDZIELAJĄCYM SIĘ
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.