Avatar billede frulilla Nybegynder
17. august 2011 - 22:12 Der er 8 kommentarer og
1 løsning

Udtræk fra database

Hvis jeg på en samlet liste vil vise de 10 seneste artikler og nyheder der er skrevet (titel, dato, og skribent), hvordan får jeg det så skrevet i koderne?

Databasen indeholder:

articles:  article_id, article_name, article_subject, article_datastamp

news:  news_id, news_name, news_subject, news_datastamp


De skal order by id og vises med nyeste først.
Avatar billede majbom Novice
18. august 2011 - 07:35 #1
skal det være 10 af hver, 5 af hver, eller bare de 10 nyeste på tværs?
Avatar billede frulilla Nybegynder
18. august 2011 - 13:29 #2
Det skal være på tværs. De 10 seneste "aktiviteter", hvis du forstår :)
Avatar billede ggxdg Nybegynder
18. august 2011 - 16:09 #3
Forslag (ikke testet)
SELECT * FROM articles, news ORDER BY articles.article_datastamp, news.news_datastamp DESC LIMIT 10


ovenstående er lavet ud fra at news og articles ligger i 2 forskellige tables og at "datastamp" er et time/dato-stamp

Hvis begge dine tabeller er så ens i opsætning, ville det så ikke være nemmere bare at have 1 tabel til begge, og lave en f.eks. boolean kollone, hvor du med et flag kan sætte om det er en nyhed, eller en artikel? Så havde queryen bare været:
SELECT * FROM artnew ORDER BY datastamp LIMIT 10


Hvis der skulle vises news alene:
SELECT * FROM artnew WHERE news=TRUE ORDER BY datastamp LIMIT 10

'news' i ovenstående eksempel er den ekstra boolean kollonne jeg foreslog
news= TRUE for news; FALSE for articles, ORDER BY kunne så enten være id eller datastamp (time/datostamp?).
Avatar billede ggxdg Nybegynder
18. august 2011 - 16:19 #4
"De skal order by id og vises med nyeste først"

Hmm... Jeg håber lidt at jeg har misfostået det om det er i 2 tabeller eller 1, for at sortere efter id, og tid/dato over 2 tabeller bliver da noget rod.
Avatar billede azzyh Nybegynder
18. august 2011 - 21:55 #5
Det er dumt at sortere efter id hvis du har 2 tabeller, og os med 1 tabel faktisk.. sorter efter date descending da du jo vil vise de seneste øverst
Avatar billede frulilla Nybegynder
21. august 2011 - 16:01 #6
Synes det bliver meget uoverskueligt,, så lukker emnet og dropper ideen.

Smid et svar hvis nogen vil have point :)
Avatar billede ggxdg Nybegynder
22. august 2011 - 19:02 #7
Det tror jeg nu ikke det er, hvis du kan oplyse lidt mere, som f.eks. er det 1 eller 2 tabeller;
- Hvis 1 tabel: hvad hedder tabellen og har du article_id, article_name, article_subject, article_datastamp, news_id, news_name, news_subject, news_datastamp i samme tabel?
- Hvis 2 tabeller: Hvad hedder de.
- Er datastamp tid og/eller dato?
- Hvis der er tid/dato hvorfor så sortere efter ID


Jeg vil mene at det er en ret simpel query, der mangler bare lige lidt info :)
Avatar billede frulilla Nybegynder
22. august 2011 - 19:21 #8
Det lyder godt. Jeg kunne bare ikke lige overse det.

Tabel 1 = ej_article:
article_id, article_subject, article_datestamp

Tabel 2 = ej_news:
news_id, news_subject, news_datestamp

Den må meget gerne sortere efter dato.

Der vil evt. komme flere tabeller med i.


Det der skal komme ud af det er som dette eksempel:

Overskrift ......Nyhed ......07-08-2011 15:26
Overskrift ......Artikel .....07-07-2011 15:26
Overskrift ......Nyhed .....07-06-2011 15:26
Avatar billede frulilla Nybegynder
06. oktober 2011 - 15:21 #9
Kom aldrig til at virke., så lukker,.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester