Avatar billede tobrukDk Novice
04. februar 2012 - 02:49 Der er 10 kommentarer og
1 løsning

INNER JOIN mellem 2 tabler

Davs / Godaften.. :)


det er sådan at jeg skal have INNER JOIN mellem 2 tabler :)
fk_kat skal tjække noget fra musik_info over til brugere table.


<?php
            $sql = 'SELECT * FROM brugere INNER JOIN musik_info ON brugere.fk_kat=musik_info.musikid';
            $res = mysql_query($sql) or die (mysql_error());

            $select = '<select name="kategori">';
            while ($row=mysql_fetch_assoc($res)) {
                $select .= '<option value="'.$row['musikid'].'">'.$row['navn'].'</option>';
            }
            $select .= '</select>';

            print $select;
        ?>


jeg har prøve at lege lidt med f.eks inner join form og tag bruger e og musik_info frem og tilbage osv.. og det kommer overhovedet ikke til at virker.. :)
da den kun gider tag den første del altså musik_info kun "id" 1 tag den kun ud fra databasen.. :)

jeg har taget 2 fin/god billeder som jeghåber at i kan bruge noget godt og hjælp mig frem til det rigtigt :)


Database navn ; Brugere
http://localhostr.com/files/NMkkVH0/capture.png

Database navn ; musik_info
http://localhostr.com/files/QQDwZz2/capture.png

Håber i vil hjælp mig.. :)

Spørger mig hvis det er ?... :)
04. februar 2012 - 07:35 #1
Det er ikke helt tydeligt for mig hvad problemet er.  Hvis du har en bruger med fk_kat = 3, så skulle resultatet være

<select><option value="3">Mainstream<option><select>

Hvad får du så i stedet? Får du

<select><option value="3"><option><select>

eller hvad?

Men selve problemstillingen ser lidt 'spøjs' ud.  Når man bruger select, er det normalt fordi man vil give brugerne et valg, for eksempel mellem musikkategorier, med den hensigt at bruge den valgte værdi til noget. For eksempel hvis du ville præsentere brugerne for en liste af musikkategorier og derefter indsætte den valgte kategori som fk_kat i brugertabellen.  Det du stiller op går den modsatte vej.  Du starter med en brugertabel, hvor der allerede er en værdi i fk_kat, og derefter trækker du den musikkategori ud af musik_info tabellen.
Avatar billede tobrukDk Novice
04. februar 2012 - 13:16 #2
er det en rigtigt dårlige ide eller hvad?
04. februar 2012 - 13:22 #3
Fortæl mig først hvilket problem du oplever.  Vis mig hvad der sker, når du kører koden, og vis så, hvad du ville have til at ske
Avatar billede tobrukDk Novice
04. februar 2012 - 13:35 #4
Altså jeg kan prøve at forklare ? hvis det er noget som du ville have?
04. februar 2012 - 14:00 #5
Spørgsmålet er, om der er noget DU vil have.  Hvis du vil have hjælp fra mig til dit problem, så bliver du nødt til at sørge for, at jeg forstår det.  I første halvdel af #1 stillede jeg nogle konkrete spørgsmål. Lad mig få svar derpå.  (Ellers lad os stoppe.)
Avatar billede tobrukDk Novice
04. februar 2012 - 14:25 #6
det er sådan at fk_kat skal giv et tal fra 1 til 4 ., og så over i musik_info table er det sådan at hvis klik på f.eks kategori 1 så sende den infomation videre over til brugere table så ved den om den er 1 eller 2 og osv.. så ved den at hvorfor infomation den skal hente.. :)

Da jeg har prøve selv med kode så frem vise den kun 1 kategori og ikke mere så den frem viser heller ikke de 3 sidste. :)

spørger hvis der er noget som du ikke forstår omkring.. :)
04. februar 2012 - 16:45 #7
Du har skrevet en query, der for hver bruger udtrækker en enkel musik kategori, hvis der er en værdi i feltet fk_kat.  Hvis tabellen bruger indeholder 20 brugere, og 15 af brugerne har et tal i fk_kat, mens 5 brugere har et tomt felt i fk_kat, så vil du få 15 brugere skrevet ud, hver med en musik kategori.  Er det hvad du vil have?

Eller kan det tænkes du vil have alle brugere i tabellen skrevet ud, og for hver bruger vil du have alle fire musik kategorier?  Det kan du få ved sådan en query:

SELECT * FROM bruger JOIN musik_info

Hvis du vil have det sorteret per bruger kan du tilføje ..ORDER BY bruger.id

Eller vil du have en bestemt bruger skrevet ud, for eksempel bruger med id=25, plus alle fire musik kategorier bliver det

SELECT * FROM bruger JOIN musik_info WHERE bruger.id = 25
Avatar billede tobrukDk Novice
04. februar 2012 - 17:24 #8
jeg brugt den her ;


SELECT * FROM bruger JOIN musik_info


og jeg takker utrolig mange gerne for hjælpen men jeg forstår ikke lige helt det her


Du har skrevet en query, der for hver bruger udtrækker en enkel musik kategori, hvis der er en værdi i feltet fk_kat.  Hvis tabellen bruger indeholder 20 brugere, og 15 af brugerne har et tal i fk_kat, mens 5 brugere har et tomt felt i fk_kat, så vil du få 15 brugere skrevet ud, hver med en musik kategori.  Er det hvad du vil have?

Eller kan det tænkes du vil have alle brugere i tabellen skrevet ud, og for hver bruger vil du have alle fire musik kategorier?  Det kan du få ved sådan en query:


sorry men vil du ikke prøve igen eller hvad? og det virker 100% nu ... :)
Avatar billede tobrukDk Novice
04. februar 2012 - 17:26 #9
skrive lidt for hurtig , den viser ikke hvorfor et tale den få når det er at jeg valg f.eks nr 1 inde i musik_info og skriver det over til databasen i brugere.. :(
04. februar 2012 - 17:57 #10
Jeg kan fra #8 forstå, at du for hver bruger vil have alle musik kategorier skreret ud i din select, og det får du med den query jeg foreslog i #7.  Derfor opretter jeg dette som svar og forventer, at du vil acceptere det.

Det du skriver i #9 kan jeg slet ikke forstå.  Jeg vil gætte på, at når en bruger vælger en musik kategori, så skal id'en for den valgte musik kategori indsættes i f_kat i bruger tabellen.  Hvis det er det #9 handler om, så vil jeg foreslå at oprette et nyt spørgsmål derfor, hvor du viser den kode du laver dine selects med og forklarer hvad du vil opnå.
Avatar billede tobrukDk Novice
04. februar 2012 - 18:01 #11
okay takker :) jo jeg skal nok lukke den her samtale og det vil jeg her med gøre da. :) så vi ikke har 2 emne her inde.. :)
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