Avatar billede peleiden Nybegynder
12. marts 2003 - 13:55 Der er 11 kommentarer og
1 løsning

hente alt fra en tabel til teksttreng

Hvordan henter jeg alt fra en tabel og sætter det som en tekstreng.

Jeg skal bruge en tekstreng med '-' som adsiller hver kolonne og ',' som adskiller hver række. Jeg vil gerne have den til at se således ud:

række1kol1-række1kol2-række1kol3,række2kol1-række2kol2-række1kol3

Nå jeg laver en while-løkke kan jeg ikke få det hele ud på en gang????
Avatar billede nuno Nybegynder
12. marts 2003 - 14:10 #1
æh - hvis du kunne sætte alt som een tekststreng ville der jo ikke være grund til at lave en while løkke?!

Hvis du vil have alt som een tekststreng - så kan fx

SELECT kol1 + '-' + kol2 + '-' + kol3 FROM dintabel
Avatar billede nuno Nybegynder
12. marts 2003 - 14:12 #2
hov - det gik lidt hurtigt...

men efter ovenstående select kan du skrive til een streng vha. din løkke

fx
<%
do while not rs.eof
  streng = streng & rs(0) & ","
  rs.movenext
loop

response.write streng
%>
(lav selv loop om til php eller whatever du koder i)

/nuno
Avatar billede peleiden Nybegynder
12. marts 2003 - 15:02 #3
Kan ikke få den til at funke i php. Er der en eller anden der kan det?
Avatar billede nuno Nybegynder
12. marts 2003 - 15:53 #4
æh noget á la:

$res = mysql_query("SELECT kol1 + '-' + kol2 + '-' + kol3 AS total_row FROM dintabel");

while($row = mysql_fetch_array($res)) {
  $dinStreng .= $row["total_row"].",";
}
echo $row;

?

/nuno
Avatar billede nuno Nybegynder
12. marts 2003 - 15:55 #5
hov

echo $dinStreng;

- skulle det have været ikke $row

/nuno
Avatar billede peleiden Nybegynder
12. marts 2003 - 17:02 #6
ok nu sker der et eller andet.
Men med den sql-sætning lægger den de forskellige tal sammen som står i felterne da der jo står + imellem kolonnerne.
Jeg skal bruge hele teksten som den står?
Avatar billede nuno Nybegynder
12. marts 2003 - 17:18 #7
$res = mysql_query("SELECT CONCAT(kol1,'-',kol2) AS total_row FROM dintabel");

/nuno
Avatar billede nuno Nybegynder
12. marts 2003 - 17:19 #8
CONCAT(kol1,'-',kol2,'-',kol3) for lige at få den sidste kolonne med :)
Avatar billede nuno Nybegynder
12. marts 2003 - 17:22 #9
CONCAT(kol1,'-',kol2,'-',kol3,',')

så slipper du for at lægge kommaet til i dit php-script

og kan nøjes med:

$dinStreng .= $row["total_row"];

i loopet - men jeg ved ikke rigtigt hvad der performance mæssigt er hurtigst. Men man kunne jo lave en test med en million records og se om det giver nævneværdig forskel :)

/nuno
Avatar billede nuno Nybegynder
12. marts 2003 - 17:23 #10
- hvis man vil have sin side til at crashe vel at mærke ;)
Avatar billede peleiden Nybegynder
12. marts 2003 - 17:28 #11
Yeah nu funker det sgu.

Det drejer sig ikke om sælig mange records ad gangen - højst 10.

Jeg siger mange tak for hjælpen + point :-)
Avatar billede peleiden Nybegynder
12. marts 2003 - 17:28 #12
og accepterer :)
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
Computerworld tilbyder specialiserede kurser i database-management

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