/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP og vanskeligt udtræk fra MySQL databas~
Fra : Kenneth


Dato : 12-11-08 23:23

Hej,

Jeg sidder og er ved at lave en blog i PHP. I den forbindelse er
topics gemt i en MySQL database med en primærnøgle "id", som
inkrementerer.

Nu er det sådan, at jeg gerne vil udtrække relevante (på hinanden
følgende) topics fra databasen. Dette kunne gøres ved hjælp af
"id", men denne kan der være "huller" i, da topics kan være
slette. Således kan de fem første topics have "id" 1,3,4,8,9.

Hvordan får jeg fat i topic 8-16 (fx), hvis "id" ikke er
kontinuert? Skal problemet løses i mysql-query'en, eller skal jeg
hente alt over i et arrai i PHP og sortere det på en eller anden
måde?


Evt. nogen der har efaring med sql-funktionen ROW_NUMBER()?

Mvh Kenneth

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Birger Sørensen (13-11-2008)
Kommentar
Fra : Birger Sørensen


Dato : 13-11-08 07:07

Kenneth kom med denne ide:
> Hej,
>
> Jeg sidder og er ved at lave en blog i PHP. I den forbindelse er
> topics gemt i en MySQL database med en primærnøgle "id", som
> inkrementerer.
>
> Nu er det sådan, at jeg gerne vil udtrække relevante (på hinanden
> følgende) topics fra databasen. Dette kunne gøres ved hjælp af
> "id", men denne kan der være "huller" i, da topics kan være
> slette. Således kan de fem første topics have "id" 1,3,4,8,9.
>
> Hvordan får jeg fat i topic 8-16 (fx), hvis "id" ikke er
> kontinuert? Skal problemet løses i mysql-query'en, eller skal jeg
> hente alt over i et arrai i PHP og sortere det på en eller anden
> måde?
>
>
> Evt. nogen der har efaring med sql-funktionen ROW_NUMBER()?
>
> Mvh Kenneth

Mener du kan bruge LIMIT x,y - henter y meddelelser med x som første.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Philip Nunnegaard (13-11-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 13-11-08 09:42

"Birger Sørensen" <sdc@bbsorensen.com> skrev

> Mener du kan bruge LIMIT x,y - henter y meddelelser med x som første.

Jeg ville uden tvivl bruge limit til formålet og bruger det selv flittigt
til sideopdeling af en visning.

// Henter seneste 10 tråde
select id,kolonne1,kolonne2,kolonne3 from debattraade order by id desc limit
0,10

// Næste 10 tråde (side 2) - altså tråd nr. 11 til 20
select id,kolonne1,kolonne2,kolonne3 from debattraade order by id desc limit
10,10

Netop limit-tingen savnede jeg i MS-databaser, hvor man skulle rode sig ud i
en meget mere kompliceret SQL-sætning for at få samme resultat, med mindre
man *kun* var interesseret i de seneste X poster, hvor det kunne klares med
"select top X..."


Phecdaret (13-11-2008)
Kommentar
Fra : Phecdaret


Dato : 13-11-08 14:15

Hej Birger og Philip,

Tak for jeres hurtige svar - jeg vil straks prøve at implementere
jeres forslag. Tænkt at det var så simpelt. Men det kan jo være
svært at finde løsningen, når man ikke ved, hvad man leder efter :)

Mvh Kenneth

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Philip Nunnegaard (13-11-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 13-11-08 17:33

"Phecdaret" <phecdaret@gmail.com> skrev

> Men det kan jo være
> svært at finde løsningen, når man ikke ved, hvad man leder efter :)

Præcis!
Google er kun éns ven når man ved hvad man skal skrive i søgefeltet.


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408920
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste