Witajcie mam taki problem że odczytuję bazę na stronie www ale muszę tak zrobić żeby ostatni wpis był pierwszym , ale nie chodzi mi o kolumnę tylko o wpis.
Chciałbym aby ostatni wpis pobrany był pierwszym.
Witajcie mam taki problem że odczytuję bazę na stronie www ale muszę tak zrobić żeby ostatni wpis był pierwszym , ale nie chodzi mi o kolumnę tylko o wpis.
Chciałbym aby ostatni wpis pobrany był pierwszym.
Daj kod
Daj kod którym wyświetlasz a nie dodajesz.
Jeśli tworzysz zapytanie bez uporządkowania (wyciągasz dane tak jak leżą wiersze w tabeli), to nie bardzo jest po czym odwrócić kolejność - w końcu jej nie ma.
Najprostszym wyjściem byłoby wprowadzić monotoniczny licznik tzn. taki, który dla nowego rekordu zawsze przyjmie większą wartość, niż dla dotychczasowych, i sortować po nim malejąco. Wtedy pierwsze będą najnowsze rekordy.
W ostateczności możesz się bawić w countery / zliczanie w samym zapytaniu, ale ani nie będzie to prostsze, ani przyjemniejsze, ani bardziej niezawodne niż sortowanie po kolumnie.
BTW. We fragmencie kodu który wrzuciłeś w komentarzu do posta wyżej nie ma ani linijki SQL, tylko najprawdopodobniej PHP lub coś podobnego.
@sqlnomaster: Tak jak napisał @superdurszlak kod wklejasz w ten sposób
EDIT Dodałem przykładowy tekst o zadawaniu pytań w Internecie. Ma on swoje lata, ale jest nad wyraz aktualny do dziś.
http://rtfm.killfile.pl/
Jest też załącznik na wszelki wypadek.Jak mądrze zadawać pytania.pdf
Czyli jak miałoby wyglądać to w html? Możesz mi wyedytować to? — sqlnomaster 34 minuty temu
pasowało by, zanim zaczniesz trzaskać fuchę, minimalne zapoznanie się o co chodzi z bazami relacyjnymi, czym się różni tabela od bazy, co to jest sortowanie, indeks. U ciebie ruchy na oślep, bez żadnych fundamentów.
Słownictwo, którego używasz, jest totalnie a-komunikacyjne (np Chciałbym aby ostatni wpis pobrany był pierwszym)
Póki co, to jest "nic nie bendem czytół, ale bendem programistom"
Chciałbym aby ostatni wpis pobrany był pierwszym.
A nie masz w tabeli kolumny z ID? Pewnie jest. W takim razie, podczas dodawania pozycji, ID jest zwiekszane podczas każdego wprowadzenia nowej danej. Jakbyś posegregował malejąco po ID, to jako pierwszy dostałbyś rekord wprowadzony jako ostatni.
Jak interpretujesz sł "pobrany"
Ja to, co OP napisał zrozumiałem tak, że tabelka, którą podał w pierwszym poście pokazuje dane w kolejności, w jakiej zostały dodane.
Czyli - pierwszy był "TEST1", potem kolejne, a "Fiat Doblo" był ostatnim wprowadzonym rekordem.
Teraz, gdy daje SELECT
to jako pierwsze dostaje te pozycje, które były dodane jak pierwsze, a chciałby najpierw dostać ostatnio dodane - dlatego proponuję dać podczas zapytania odwrotne sortowanie po ID.
A jeśli chodzi o coś innego, to niech @sqlnomaster trochę lepiej opisze problem.
order by id desc
"a to, co OP napisał zrozumiałem tak, że tabelka, którą podał w pierwszym poście pokazuje dane w kolejności, w jakiej zostały dodane.
Czyli - pierwszy był "TEST1", potem kolejne, a "Fiat Doblo" był ostatnim wprowadzonym rekordem."
Dokładnie o to mi chodziło, jeżeli źle zadałem pytanie przepraszam, nie korzystam na co dzień z forum.
Dodam id i spróbuję opcji Cerrato.
Dziękuję za pomoc, temat nadal otwarty, nie jestem programistą ale próbuję coś zrobić i niektórzy mi nie pomagają, nie ma wsparcia niektórych osób, szkoda.
W relakcyjnych bazach nie ma czegoś takiego jak kolejność rekordów w tabeli. Jeżeli chcemy mieć pewność, jak rekordy zostaną zwrócone trzeba użyć order by.
Oczywiście wiem że praktycznie nie zawsze tak jest, ale warto o tym pamiętać.