Avatar billede hoejgaard Juniormester
23. maj 2008 - 15:37 Der er 11 kommentarer og
1 løsning

søgning i database

hej
Jeg skal lave en søgning i en MySql database.
En bruger skal vælge :
<tr>
                                    <td class="td10" width="35%">Med/uden :</td>
                                    <td WIDTH="50%"><select name="check"  style="font-size:9px" value="<?php echo "$check"; ?>">
                                        <option value="">Alle</option>
                                        <option value="m">Med</option>
                                        <option value="u">Uden</option>
                                                    </select>
                                    </td>
                          </tr>

Og så skal jeg søge i en tabel hvor der er listet en række brugernavne, nogle forekommer flere gange.
Et andet felt i tabellen skal så checkes om det er tomt eller ikke.(med/uden)
Men når søgeresultatet listes på siden må hver bruger højst optræde en gang, selvom de står flere gange i tabellen.
Hvordan laver jeg min query i dette tilfælde ??
Avatar billede di8leva Nybegynder
23. maj 2008 - 15:59 #1
Du bruger et keyword der heder "DISTINCT"
Avatar billede di8leva Nybegynder
23. maj 2008 - 15:59 #2
SELECT DISTINCT brugernavn FROM brugere WHERE med_uden = ''
Avatar billede hoejgaard Juniormester
23. maj 2008 - 16:23 #3
fint tak ! kigger lige på det senere og vender tilbage
Avatar billede hoejgaard Juniormester
24. maj 2008 - 21:07 #4
hvad ialverden er der galt i denne linie :

if ($_SESSION[bilagc] == 'm' && $_SESSION[bilagb] == 'u' && $_SESSION[bilagv] == 'u' && $_SESSION[bilaga] == 'u') { $a='1';  echo "her er jeg"; exit; }

if sætningen er ikke true selvom den burde være det... er der noget syntaksfejl eller noget ??
Avatar billede hoejgaard Juniormester
24. maj 2008 - 21:21 #5
nå har løst problemet
Avatar billede hoejgaard Juniormester
24. maj 2008 - 21:45 #6
jg har lidt problemer med :
SELECT DISTINCT brugernavn FROM brugere WHERE med_uden = ''

Skal også ha nogle andre felter trukket ud af tabellen. Hvordan får jeg dem med ind i selecten ??
Avatar billede hoejgaard Juniormester
24. maj 2008 - 22:22 #7
og de andre felter skal ikke med i distinct..
Avatar billede hoejgaard Juniormester
24. maj 2008 - 22:50 #8
Har vist kludret lidt med min forklaring..
Jeg har feks :
      by          land      postnr    alder
arne  sdds        dfgdgd              dfgdgdgd
per    dfdgd                dfgdgdgd
arne  sadadad
hans  dfgdgd
hans                                    xvvxvxvx

brugeren har så valgt at se medlemmerne med værdier i by og alder og tomme felter i land og postnr. medlemmerne må kun komme en gang i resultatet.
Dvs feks. Hans skal vises engang med værdier i by og alder.
Hvordan kan jeg få trukket det ud ??
Avatar billede hoejgaard Juniormester
25. maj 2008 - 10:51 #9
Ingen der har et bud på det ?
Avatar billede hoejgaard Juniormester
25. maj 2008 - 20:31 #10
Nu har jeg lavet en ny tabel hvor brugernavn er unik og kun optræder en gang.

Et felt i tabellen 'ancv' kan eksempelvis have en værdi der er større end '0' eller '0'

Når man søger kan man søge på 'med' 'uden' eller 'alle'

Med betyder at
'antcv' > 0
Uden betyder at
'antcv' = 0
Alle betyder at
'antcv' > = 0

Mit spørgsmål er så hvordan jeg simpelt kan lave min forespørgsel til databasen, uden at skulle lave 3 forskellige forespørgsler ??

Jeg  har :

$_SESSION[bilagc] == 'm'    (med)
$_SESSION[bilagc] == 'u'    (uden)
$_SESSION[bilagc] == 'alle' (alle)
   
$query = mysql_query("SELECT * FROM b_bruger WHERE antcv > '0'");

Hvordan får jeg så $_SESSION[bilagc] ind i forespørgslen, når jeg skal finde hvilke antcv der skal med ??
Altså hvordan relaterer jeg eks. $_SESSION[bilagc] == 'm' til antcv > '0' ??
Avatar billede hoejgaard Juniormester
26. maj 2008 - 00:58 #11
har klaret det med en anden løsning og eksisterende tabel..
læg et svar som tak for hjælpen di8leva !
Avatar billede hoejgaard Juniormester
08. september 2008 - 11:02 #12
lukker
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