MySQL Omvendt rækkefølge

Tags:    php

<< < 123 > >>
Hey, jeg er rimelig n00b til MySQL og PHP men jeg har lavet et newssystem hvor jeg har lavet en mySQL database, men så når jeg henter dem fra databasen kommer de selvfølgelig med den der har id 1 først, kan man ikke vende det om ligesom med "!" så den nyeste kommer først???

Og hvordan laver man en side hvor man kan indsætte nyheder?
jeg har følgende i tabellen = id dato forfatter tekst headline.
det må også gerne være sådan at den selv henter datoen helst i dette format: "10/10/2002 eller 10-10-2002".



21 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
SQL: SELECT id, DATE_FORMAT(date, '%e-%c-%Y'), forfatter, tekst, headline ORDER BY id DESC

%e = day of month (0..31)
%c = month of year (0..12)
%Y = year (4 digits)

Så skulle den gerne formattere datoen således, (x)x-(x)x-xxxx. Parantesen skyldtes, at tallene fra 0 til 9 kun repræsenteres med et ciffer.

Her er linket til formattering af datoer i SQL-queries

http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Date_and_time_functions

Erik K. Aarslew-Jensen



Hey, jeg er rimelig n00b til MySQL og PHP men jeg har lavet et newssystem hvor jeg har lavet en mySQL database, men så når jeg henter dem fra databasen kommer de selvfølgelig med den der har id 1 først, kan man ikke vende det om ligesom med "!" så den nyeste kommer først???

Og hvordan laver man en side hvor man kan indsætte nyheder?
jeg har følgende i tabellen = id dato forfatter tekst headline.
det må også gerne være sådan at den selv henter datoen helst i dette format: "10/10/2002 eller 10-10-2002".


Prøv at læse:
http://www.webcafe.dk/artikler/sql/sortering/#omvendt_sortering

##################################
#There are only 10 types of people in the world: #
#Those who understand binary ant those who don't#
##################################

# JeZper #





SQL: SELECT * FROM <tabel> ORDER BY id DESC

Så henter den alle dine "entries" i omvendt rækkefølge. Ellers kan du også bruge

SQL: SELECT * FROM <tabel> ORDER BY dato



Ja,

ASC = alm. med mindst først
DESC = "omvendt" med størst først....

/*
Mikl

ICQ: 159096501
MSN: mikl@mikl.dk
*/



MySQL query laver du således:
SELECT * FROM tabel ORDER BY dato

på flg. måde kan du fx skrive det ud:

$q = mysql_query ("SELECT * FROM tabel ORDER BY dato");
while ($r = mysql_fetch_array ($q)) {
$dato = date ("H:i:s d/m-Y", $r[dato]);
echo "$r[headline]<br>\\n";
echo "Af $r[forfatter] - $dato<br>\\n";
echo "$r[tekst]";
}

Prøv det engang, husk at "tabel" skal erstattes med din tabels navn!

- egeriis -



er der ikke nogen der kan finde ud af den sidste del???



Hvilken type har du givet cellen "date" - DATE eller DATETIME?




Hvilken type har du givet cellen "date" - DATE eller DATETIME?


Jeg har bare skrevet varchar(10)... hvis det er det du mener??



JA... hvordan ser den dato ud som du gemmer i tabellen.

Normalt gemmer man det som den rigtige type så man netop kan få databasen til selv at manipulere med data'erne. Hvis du bare gemmer det som en tekststreng bliver du også selv nødt til at formatere outputtet (i PHP, ikke MySQL).

Benyt derfor hellere typen DATE.



Den ser sådan her ud: 04/12/2002 eller 04-12-2002...
men det kan jeg ik få den til når jeg bruger DATE...
Hvordan gør man det??



<< < 123 > >>
t