24. februar 2009 - 10:29Der er
4 kommentarer og 1 løsning
Repeat i en Repeat...? MySql og php
Jeg kan simpelthen ikke finde ud af hvordan jeg kan løse følgende problem:
Jeg har 2 tabeller. En med newsindhold og en med filer, der kan uploades til hver nyhed. Nu kan der jo forekomme flere filer til den samme nyhed.
Min forespørgsel er derfor: SELECT * FROM news LEFT JOIN newsfiler USING (newsID) ORDER BY news.date DESC
På selve siden viser vi alle forekomster, MEN nu lægger den jo bare en række til og det er jo ikke meningen. Kan man lave en repeat inde i en repeat? Hvordan henter den så id på rækken for at kunne tilknytte den rigtige ID?
Hej Arne. tak for dit svar.. men det hjælper mig i virkeligheden nok ikke meget videre..;o) Hvilken query og hvilken kode skulle det være i stedet for den jeg har?
hmmmm... det ender nok med noget lignende forspørgsel
SELECT *, COUNT(newsfiler.newsID) AS antal FROM news LEFT JOIN newsfiler USING (newsID) WHERE news.nummer = 'forside' GROUP BY newsfiler.filID ORDER BY news.date DESC
og så med en if sætning, der kun viser hver nyhedstitel og tekst, men alle filer ...
Suk, ved bare ikke hvordan.. prøvede med UNION og JOINS osv.. men måske har jeg også formuleret det forkert.. For det jeg egentlig gerne vil, er at den skriver alle forekomster af den anden tabel inde i rækken fra den første tabel.. dvs.:
Tabel 1 newsID - titel - text
Tabel 2 filID - filnavn - newsID
Resultat af query tabel1.newsID - tabel1.titel - tabel1.text - tabel2.filID - tabel2.filnavn - tabel2.filnavn - tabel2.filnavn..usw.. WHERE tabel1.newsID = tabel2.newsID
Bare hvis det skulle interessere nogen.. Jeg fik løst det med denne forespørgsel: SELECT *, COUNT(newsfiler.newsID) AS antal FROM news LEFT JOIN newsfiler ON news.newsID = newsfiler.newsID WHERE news.nummer = 'forside' GROUP BY news.newsID ORDER BY news.date DESC
og så lagte jeg nogle if sætninger, hvor den viser et ikon skulle der være flere filer til en nyhed, som man kan klikke på og komme videre til en oversigt over alle filer til denne nyhedsid.
Synes godt om
Ny brugerNybegynder
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.