Avatar billede noodrem Nybegynder
04. oktober 2007 - 13:57 Der er 13 kommentarer

Flere værdier i samme række

Hej eksperter

Vil lave en side i php hvor man kan oprette et produkt. Ved dette produkt ska man så kunne afkrydse hvilke størrelser produktet fås i.

Dette skal indsættes i en database sammen med produktets navn osv.
Herefter vil jeg kunne trække værdierne ud, så en given side viser en dropdown menu MED de valgte størrelser for et givent produkt.

Hvordan gøres det?
Avatar billede jakobdo Ekspert
04. oktober 2007 - 14:52 #1
Jeg vil anbefale at lave en størrelses tabel.
Og så en krydstabel mellem produkt og størrelses tabellen.
Forstår du?
Avatar billede noodrem Nybegynder
04. oktober 2007 - 15:42 #2
Jo, men hvorfor ikke bare indsætte det i samme tabel? Kan cellen 'str' som indeholder værdien er variablen af de valgte størrelse ikke indeholde flere værdier?
Avatar billede noodrem Nybegynder
04. oktober 2007 - 15:45 #3
Bruger denne kode til at tømme arrayet:

if (isset($str))
                {
                    foreach($str as $valg)
                    {
                    echo "$valg";
                    }
                } else {
                    echo "";
                }
Avatar billede dkfire Nybegynder
04. oktober 2007 - 15:46 #4
Det er aldrig en god ide at have flere værdier i samme celle.
Avatar billede noodrem Nybegynder
04. oktober 2007 - 15:46 #5
Hvor dette er formularen til at opfange arrayet:

    echo "<p>Størrelse: </p>";
        echo "<input type='checkbox' name='str[]' value='0-2'> 0-2 <br>";
        echo "<input type='checkbox' name='str[]' value='2-4'> 2-4 <br>";
        echo "<input type='checkbox' name='str[]' value='4-6'> 4-6 <br>";
        echo "<input type='checkbox' name='str[]' value='6-8'> 6-8 <br>";
        echo "<input type='checkbox' name='str[]' value='8-10'> 8-10 <br>";
    echo "<input type='submit' name='submit' value='Tilføj'>";


Og denne tager den ud af databasen:

    $str = $row['str'];
Avatar billede noodrem Nybegynder
04. oktober 2007 - 15:47 #6
Må indrømme jeg er stået af så :)

Kan i give et eksempel på hvordan en således krydstabel kan laves med de givne variabler jeg bruger?
Avatar billede dkfire Nybegynder
04. oktober 2007 - 16:06 #7
Hvis du har en tabel alle mulige størrelser.
Du har så en tabel med dine produkter.
Dernæst har du en tabel som beskriver hvilke størrelser som er muligt for for et produkt. Denne tabel kæde størrelsestabellen og produkttabellen sammen. Dette gøres ofte  med id'er fra de to tabeller.

Dvs:

Størrelser:
-----------------------
Id    Størrelse
1      0-2
2      2-4
3      4-6


Produkt:
---------------------
Id    Navn 
1      Bluse
2      T-shirt


ProduktStørrelser:
----------------------
Id  ProduktId    StørrelseId
1        1            2
2        1            3
3        2            1
4        2            2

Med lidt sql kan du koble de tre tabeller sammen.
Avatar billede jakobdo Ekspert
04. oktober 2007 - 16:07 #8
F.eks. kunne man lave:

Produkt tabel:
id, navn, osv...

1, Sej Trøje, ...
2, Sjov Hat, ...

Størelse tabel:
id, tekst, osv...
1, Small, ...
2, Medium, ...
3, Large, ...
4, X-Large, ...

Produkt_Størrelse tabel:
produkt_id, størrelses_id

1 - 1
1 - 2
1 - 4
2 - 1
2 - 3

Når man så har en trøje, trækker man alle data fra: Produkt_Størrelse tabel: hvor produkt_id = 1
Så har man størrelser på trøjen.
Avatar billede dkfire Nybegynder
04. oktober 2007 - 16:22 #9
He he, godt eksempel jakobdo :-)
Avatar billede noodrem Nybegynder
04. oktober 2007 - 16:23 #10
Takker. Skal lige ha læst og forstået dem ordentligt. Der kommer et svar hurtigst muligt.
Avatar billede dkfire Nybegynder
04. oktober 2007 - 16:28 #11
Et rigtig godt sted at starte er at læse om normalisering af tabeller. Jeg har dog ikke lige nogle artikler liggende om det, måske jakobdo har.
Avatar billede jakobdo Ekspert
04. oktober 2007 - 16:48 #12
Jeg har heller ikke været inde over emnet nej.
dkfire: Tak og i lige måde - great minds think alike. :o)
Avatar billede noodrem Nybegynder
04. oktober 2007 - 17:47 #13
Ka virkelig ikke lure den :S

Kan i give et eksempel hvor i bruger de koder jeg har brugt?
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