Avatar billede rasmus-madsen Nybegynder
28. oktober 2008 - 21:05 Der er 20 kommentarer og
1 løsning

Udtræk - mysql

Hej Boys.

Jeg har en tabel :
id | test
1  | a 
2  | a
3  | a
4  | t
5  | t
6  | e
7  | c

Den skal være i en løkke som udskriver a i første. T i næste, e næste og c i sidste. Altså 4 i alt.
Vigtigt med rækkefølgen.

På forhånd tak
Avatar billede showsource Seniormester
28. oktober 2008 - 21:09 #1
Og hvorfor lige det?
Måske du skulle overveje en anden tabel opbygning?
Avatar billede rasmus-madsen Nybegynder
28. oktober 2008 - 21:16 #2
Det ikke muligt i denne sammenhæng. Beklager.

Det burde bare være et array som kører og sletter dem der ens.
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:23 #3
Det var da verdens mest besværlige måde at gøre det på. Det må da kunne gøre mere simpelt så kun kan hente ORDER BY test ASC i stedet for den mystiske rækkefølge...
Avatar billede rasmus-madsen Nybegynder
28. oktober 2008 - 21:25 #4
Jamen kunne egentlig godt order på tiden, men a skal bare ikke forekomme flere gange. Det skal t osv hellere ikke
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:26 #5
Så du vil kun hente én række med a, én med t, én med c..... osv?
Avatar billede jantzen88 Nybegynder
28. oktober 2008 - 21:27 #6
Er ikke sikker på du kan lave det med MySQL, men er nu heller ikke verdens bedste til MySQL... Du kan bruge PHP og evt bruge array_unique

Du kan læse mere på http://dk2.php.net/manual/en/function.array-unique.php
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:29 #7
For hvis det er sådan skal du bare bruge:

"SELECT DISTINCT test FROM table_name"

Så får du udskrevet:

a,t,e,c
Avatar billede rasmus-madsen Nybegynder
28. oktober 2008 - 21:29 #8
kjeldsted --> Ja :)
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:33 #9
Så er "SELECT DISTINCT test FROM table_name" lige løsningen :)
Avatar billede showsource Seniormester
28. oktober 2008 - 21:33 #10
I min verden, lidt mere korrekt:

SELECT DISTINCT(`test`) FROM table_name
:O)
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:36 #11
showsource -> Well. Måske i din verden. Men ikke i følge MySQL (http://dev.mysql.com/doc/refman/5.0/en/distinct-optimization.html) ;)
Avatar billede showsource Seniormester
28. oktober 2008 - 21:39 #12
jahh, jeg var lige forbi :O)
Avatar billede rasmus-madsen Nybegynder
28. oktober 2008 - 21:45 #13
Hvordan vil du udskrive den ? Den driller lidt nemlig hehe. Det helt klart ikke i while mysql
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:48 #14
$result = mysql_query("SELECT DISTINCT test FROM table_name");
while($row=mysql_fetch_assoc($result))
{
echo $row['test'];
}

Og så husk lige at udskifte table_name, men navnet på tabellen ;)
Avatar billede showsource Seniormester
28. oktober 2008 - 21:53 #15
eller
$result = mysql_query("SELECT DISTINCT test FROM table_name") or die (mysql_error());
Avatar billede rasmus-madsen Nybegynder
28. oktober 2008 - 21:54 #16
Jeg brugte mysql_fetch_array. 

Jeg takker.  Svar :)
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:55 #17
Nå, ja. Glemmer sku altid den mysql_error(). Må være fordi jeg aldrig selv laver fejl i mine SQL's ;)
Avatar billede rasmus-madsen Nybegynder
28. oktober 2008 - 21:55 #18
Showsource --> Den har jeg allerede tilføjet, men ellers tak :)
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:56 #19
Husk dog på at mysql_fetch_array kun er praktisk hvis du både benytter $row[0] og $row['test']. Hvis du kun bruger $row['test'] bør du bruge mysql_fetch_assoc...
Avatar billede kjeldsted Novice
28. oktober 2008 - 21:57 #20
Og mysql_fetch_row hvis du kun bruger $row[0] ;)
Avatar billede kjeldsted Novice
28. oktober 2008 - 22:22 #21
Og tak for points :)
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