Jak wyciągnąć dobrze zmienna?

PHP/MYSQL  Założony przez  hasmen.

Jak można np coś takiego:

$wynik mysql_query("SELECT * FROM postac ORDER BY obraz ASC LIMIT 0,3"

or die(
'Błąd zapytania'); 
 
if(
mysql_num_rows($wynik) > 0) { 
    
/* jeżeli wynik jest pozytywny, to wyświetlamy dane */ 
    
echo "<table cellpadding=\"2\" border=1>"
    while(
$r mysql_fetch_assoc($wynik)) { 
        echo 
"<tr>"
        
        
        echo 
"<td>".$r['nick']."</td>"
        echo 
"<td>".$r['lvl']."</td>"
        echo 
"<td>".$r['kasa']."</td>";
        echo 
"<td>  
       </td>"

        echo 
"</tr>"
    } 
    echo 
"</table>"


Chodzi mi o to jak zrobić aby 3 ostatnio dodane postacie były pokazywane w tabeli? nad tym się główkuje..
a jakie kolumny masz jeszcze w tabeli?
to już obojętnie, tylko chcę wiedzieć w jaki sposób jest to do wykonania.
?

order by kolumna desc limit 3

najlepiej zeby w kolumnie byla data lub id
jesli nie masz id ani daty wstawienia rekordu itd, to oczywiście to nie zadziała, bo posortuje po kolumnie którą masz w order np.: (powiedzmy ze nie mam id na tabeli userów a chce ostatnich zarejestrowanych)
SELECT username
FROM mybb_users
ORDER BY username DESC
LIMIT 3
zwróci
żyleta
żonka
zzzz

ale gdy ponumerujesz sobie wyniki wszystkie i posortujesz numerem wyniku będzie juz ok:
select @rownum:=@rownum+1 'rank', username from mybb_users, (SELECT @rownum:=0)  order by rank desc limit 3

popróbuj sobie w phpmyadminie



Użytkownicy przeglądający ten wątek:

1 gości