Avatar billede clausga Nybegynder
01. august 2006 - 12:16 Der er 14 kommentarer

Udvælg kun 1 gang fra databasen

Jeg har en tabel som hedder produkt og et felt som hedder menu og de indeholder så fx.

blomster
blomster
blomster
vand
græs
vand
græs

men den skal kun udskrive hvert ord en gang:

så det bliver sådan:

blomster
vand
græs

men hvordan :) ?
Avatar billede kokoko Nybegynder
01. august 2006 - 12:17 #1
SELECT DISTINCT menu FROM TABLE
Avatar billede tras Juniormester
01. august 2006 - 12:38 #2
SELECT DISTINCT menu FROM TABLE LIMIT 1
Avatar billede tras Juniormester
01. august 2006 - 12:40 #3
EKS
SELECT * FROM wow_news LIMIT 1
Avatar billede clausga Nybegynder
01. august 2006 - 14:00 #4
ok kan jeg gører noget at hvis feltet er tomt at skal den gører noget
<?
$tjek = $row[menu];
if($tjek == '') {} else { ?>

men det eksempel virker ikke ?
Avatar billede kokoko Nybegynder
01. august 2006 - 14:08 #5
Hvad er det helt præcist du ønsker?

$tjek = $row['menu'];
if ($tjek == '') {} else {}

burde virke hvis det er det du ønsker..
Avatar billede Slettet bruger
01. august 2006 - 14:33 #6
tras: dit eksempel henter kun 1 linie.
Avatar billede clausga Nybegynder
01. august 2006 - 14:35 #7
jo det virker også my bad :( lige en sidste ting

hedder det:
<option>Vælg kategori</a> eller
<option>Vælg kategori</option>
Avatar billede Slettet bruger
01. august 2006 - 14:47 #8
Den anden.

Du bør vist finde et hæfte om HTML for begyndere og lige læse det. De koster ikke meget, men de kan også findes på bibliotekerne.
Avatar billede clausga Nybegynder
01. august 2006 - 15:02 #9
Ja men jeg undre mig bare da begge ting virker!
Avatar billede Slettet bruger
01. august 2006 - 15:29 #10
Årsaget til at den første i nogle tilfælde virker er, at browseren prøver at skabe fornuft ud af koden:

Hmmm... Der er et slut-A-mærke, men jeg har ikke en åben A. Lad mig se, den option mangler vist et slutmærke, lad os prøve om det giver mening, hvis jeg lader som om der står </option>

Den slags ting gør browsere hele tiden, og det tager tid og kræfter. Desuden er det ikke sikkert at forskellige browsere laver samme gæt, så at det virker i en browser betyder ikke, at det også vil virke i andre.
Avatar billede clausga Nybegynder
01. august 2006 - 23:39 #11
Hvis indholdet feltet(submenu) så hedder:

1 blomster
1 blomster
1 blomster
2 vand
3 græs
2 vand
3 græs

$q = mysql_query("SELECT DISTINCT LEFT(submenu, INSTR(submenu, ' ')) AS sub FROM produkter")

det virker fint og jeg får kun et af hvert tal..... men hvad nu hvis jeg gerne stadig vil kunne trække hele indholdet af submenu feltet ud hvad skal så ændres i min query ?
Avatar billede Slettet bruger
02. august 2006 - 00:09 #12
Øh, så bør du rette din tabel til. Der bør ikke være to forskellige værdier i samme felt. Hvis samme tal altid hører til samme tekst, bør du nøjes med tallet i produkter-tabellen og lave en ny tabel med submenu-teksten. Hvis det derimod kunne tænkes at der udover dine nævnte også forekommer "2 blomster" eller "1 vand", så bør det splittes op i to felter i samme tabel.
Avatar billede clausga Nybegynder
02. august 2006 - 00:24 #13
Ok jeg trode bare det ville belaste databasen mindre med få felter i tabellen.... :) jeg opretter et felt mere!

kokoko og sandbox smid svar!
Avatar billede Slettet bruger
02. august 2006 - 00:41 #14
Nej tak, bare lad kokoko få pointene. Jeg hjalp bare med lidt bonusspørgsmål, som lå uden for det oprindelige.
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