05. april 2005 - 21:27
Der er
23 kommentarer og 1 løsning
Udskriv noget og sortere noget fra
Jeg har en database med nogle mærker i kunne se sådan her ud: panasonic panasonic jbl sony sony jbl panasonic jeg skal have dem ud fra databasen, MEN jeg skal kun have ET af hvert mærke ud så resultatet bliver sådan her: panasonic jbl sony Hvordan gør man det ?
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
05. april 2005 - 21:30
#1
select DISTINCT(feltnavn) FROM tabel
05. april 2005 - 21:34
#2
kan man få en lille forklaring ? :)
05. april 2005 - 21:36
#3
Manualen forklarer det meget godt - men hvis du skriver DISTINCT så kommer der kun en af hver - så simpelt er det.
05. april 2005 - 21:36
#4
Sagtens. distinct tager netop og "samler" data så de kun fremkommer een gang. Hvis du derfor har dine mærker i felter "marks" i en tabel kaldet "mytable" vil "select distinct(marks) as marks from mytable" give dig hvad du vil have.
06. april 2005 - 19:14
#5
hmm det virker ikke og det ved jeg nok godt selv hvorfor... i min tabel er titel ikke kun mærket men også modellen, den ser sådan her ud panasonic tv panasonic lcd jbl subwoofer sony kamera sony dvd jbl forstærker panasonic dfd5g47 Hvad kan jeg så gører ???
06. april 2005 - 19:32
#6
Så du har et felt der indeholder "Sony DVD", "Sony Kamera" og så videre? Altså i alle tilfælde står brand-navnet forrest i feltet som første ord og er adskilt fra det næste ord af et mellemrum?
06. april 2005 - 19:56
#7
Ja lige præsis barklund :)
06. april 2005 - 20:04
#8
Så må det være: SELECT DISTINCT LEFT(feltnavn, INSTR(" ", feltnavn)) FROM tabel Tror jeg det må være :)
06. april 2005 - 20:15
#9
hmm hvad er der galt her $crtv = mysql_query("SELECT DISTINCT LEFT(titel, INSTR(" ", titel)) FROM produkter"); while($row = mysql_fetch_array($crtv)) { echo $row["titel"]; }
06. april 2005 - 20:16
#10
At du har quotes midt i din streng som afslutter strengen - det ved du vel, at man ikke må: $crtv = mysql_query("SELECT DISTINCT LEFT(titel, INSTR(' ', titel)) FROM produkter"); while($row = mysql_fetch_array($crtv)) { echo $row["titel"]; }
06. april 2005 - 20:24
#11
kopierede jo bare dit eksempel ind ;) men nu får jeg ingen fejl men får heller ikke skrevet noget ud ?!
06. april 2005 - 20:46
#12
Hvad kan der være galt ???
06. april 2005 - 21:33
#13
Prøv lige: $crtv = mysql_query("SELECT LEFT(titel, INSTR(' ', titel)) AS titel FROM produkter"); while($row = mysql_fetch_array($crtv)) { echo $row["titel"]; }
06. april 2005 - 21:38
#14
hjælper ikke noget :(
06. april 2005 - 21:40
#15
Intet output overhovedet? Prøv lige: $crtv = mysql_query("SELECT titel FROM produkter") or die(mysql_error()); while($row = mysql_fetch_array($crtv)) { echo $row["titel"]; } -- Morten Barklund
06. april 2005 - 21:41
#16
ja så får jeg alt ud fra databasen
06. april 2005 - 21:43
#17
Så prøver vi os lidt frem, hvad med: $crtv = mysql_query("SELECT INSTR(' ',titel) AS titel FROM produkter") or die(mysql_error()); while($row = mysql_fetch_array($crtv)) { echo $row["titel"]; } Det skulle give en masse tal
06. april 2005 - 21:45
#18
Den giver en masse 0'er
06. april 2005 - 21:48
#19
Haha, det er jo omvendt :/ $crtv = mysql_query("SELECT DISTINCT LEFT(titel, INSTR(titel, ' ')) AS titel FROM produkter") or die(mysql_error()); while($row = mysql_fetch_array($crtv)) { echo $row["titel"]; } Prøv den :) -- Morten Barklund
06. april 2005 - 21:50
#20
SÅ er der BONUS nu virker det, jeg siger mange mange tak smid et svar :) du kan da lige smide et svar i den anden også du fortjerner lidt point :)
06. april 2005 - 21:54
#21
Accepter du bare dig selv i det andet spørgsmål :) -- Morten Barklund
06. april 2005 - 21:58
#22
Hehe, ja man kan nemt snuble over INSTR og LOCATE ;O)
06. april 2005 - 22:00
#23
Det er jo det :)
06. april 2005 - 22:00
#24
Og tark for points :)
Vi tilbyder markedets bedste kurser inden for webudvikling