Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php] Kolejność wyciągania danych z bazy
Forum PHP.pl > Forum > Przedszkole
poxrimex
Witam chciałbym się dowiedzieć mając w bazie tylko jedną kolumnę: uzytkownik.
To jak mam 100 użytkowników to jak mogę wyciągnąć z bazy, który był ostatni?
Powtarzam mając tylko kolumnę uzytkownik, bo przecież jak przeglądam bazę
danych z phpmyadmin to widzę, który się ostatni zarejestrował
nospor
Majac tylko kolumne "uzytkownik" to mozesz jedynie stwierdzic jaki ten uzytkownik ma login tongue.gif

Jesli nie podasz sortowania to baza zwraca ci rekordy tak jak ma ustawione. Zazwyczaj jest to kolejnosc dodania, ale nie musi tak byc.
Piniek
  1. SELECT uzytkownik FROM tabela ORDER BY uzytkownik DESC;


chyba nie daje gwarancji

@nospor dobra mylilem sie sorry
nospor
@piniek zastanow sie, co nazwa uzytkownika ma do kolejnosci dodania? NIC. PRzeciez to ci posortuje po nazwie czyli alfabetycznie.
poxrimex
Cytat
Zazwyczaj jest to kolejnosc dodania, ale nie musi tak byc.


a co może być przyczyną, że "tak nie musi być" ?
nospor
zachciewajka bazy danych smile.gif

Chcąc miec rekordy we wlasciwej kolejnosci musisz polegac na konkretnym polu. Moze to byc data dodania. Moze to byc od biedy ID pod warunkiem ze jest to pole autoincrement i ze nie wpadniesz na szalony pomysl wypelniania dziur po usunietych rekordach
poxrimex
a jeszcze się Ciebie spytam
bo ja jestem troszkę oszczędny
i dałem char 8 pole data utworzenia konta w tabeli mysql
i format będzie taki: DDMMRRRR
a poźniej żeby obliczyć ile lat ma użytkownik
to rozbiję to na tablice funkcją explode i obliczę za pomocą
funkcji wiek

Czy takie rozwiązanie jest dobre?
Piniek
pole daty powinno byc wedlug mnie przynajmniej typu

DATETIME
TIMESTAMP
DATE
nospor
Cytat
bo ja jestem troszkę oszczędny
i dałem char 8 pole data utworzenia konta w tabeli mysql


char 8 zajmuje 8 bajtow. A teraz zajrzyj do manual i zobacz ile zajmuje pole typu DATE, ktore defacto sluzy do przetrzymywania daty:
http://dev.mysql.com/doc/refman/5.0/en/sto...quirements.html

Ty zamiast byc oszczednym to bądz lepiej osobą, ktora ciut czesciej zaglada do manuala.
poxrimex
no fakt

3 bajty zajmuje sama data
8 bajtów czyli ile char (8) zajmuje data z czasem

Pozdrawiam all i dziękuje za pomoc
nospor
Cytat
8 bajtów czyli ile char (8) zajmuje data z czasem
Pamietaj, ze nawet jesli char by zajmowal mniej bajtow niz typ czasowy to i tak masz uzyc typu czzasowego. Tworzy sie je poto by moc operowac na datach. Jest masa funkcji ktora to umozliwia. Robiac z daty tekst, skazujesz sam siebie na poźniejsze meki z kombinowaniem winksmiley.jpg
poxrimex
no fakt, funkcje wbudowane są po to by z nich korzystać ;D
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.