Avatar billede wavie Nybegynder
16. januar 2002 - 17:17 Der er 3 kommentarer

Problem med array og lignende

Ok først og fremmest en lille intro.
En kunde har mulighed for at bestemme hvor mange specifikationer på et produkt de ønsker. Der er så en række tilhørende værdier til hver specifikaitonsmulighed. Koden til at generere inputboxes (i index.php3) er følgende ...

    <?php
                    for ($x = 0;$x < $numberofspecifications;$x++) {
                    ?>
                    <tr>
                        <td width=\"85\"><font face=\"verdana\" size=\"1\" color=\"#000000\"><input type=\"text\" name=\"<?php echo \"spec_$x\";?>\" style=\"FONT-FAMILY: verdana; FONT-SIZE: xx-small; BACKGROUND-COLOR: cccccc; width: 83; border-color: #000000; border-style: solid; border-width: 1px; height: 15\">&nbsp;:</td>
                        <td width=\"85\"><input type=\"text\" name=\"<?php echo \"value_$x\";?>\" style=\"FONT-FAMILY: verdana; FONT-SIZE: xx-small; BACKGROUND-COLOR: cccccc; width: 83; border-color: #000000; border-style: solid; border-width: 1px; height: 15\"></td>
                    </tr>
                    <?php
                    }
                    ?>

og benytter sig af følgende metode til at requeste nogle actions i det efterfølgende formdokument.

<form method=\"post\" action=\"database.php3?action=add_product&numberofspecs=<?php echo \"$numberofspecifications\";?>\">

Selve koden der fortolker de givne informationer ser således ud ...

if (@$action == \"add_product\") {
for (@$x = 0; @$x < @$numberofspecs;$x++) {
$specname[@$x] = $(\"spec_\" + $x + \",\");
$specvalue[@$x] = $($value_ + $x + \",\");
}
$result = mysql_query(\"INSERT INTO products (date,name,category,text,highlight_text,picture,specifications,specifications_values) values (\'$date\',\'$name\',\'$category\',\'$text\',\'$highlight_text\',\'0\',\'$specname\',\'$specvalue\')\");
$result = mysql_query(\"Select * from products where picture = \'0\'\");
while ($row = mysql_fetch_array($result)) {
copy($picture, \"gfx/pix/\".@$row[id].\".jpg\");
echo \"<META HTTP-EQUIV=\'Refresh\' CONTENT=\'0;URL=index.php3?st1=Admin&st2=Welcome\'>\";
}}

Det er disse to linier der giver problemer
$specname[@$x] = $(\"spec_\" + $x);
$specvalue[@$x] = ($value_ + $x + \",\");
Den første der kommer med et pratisk virkende svar inden dagen er omme får yderligere 500 point efter aftale.

Jeg håber virkelig i snart vil svare eftersom det ikke varer længe inden jeg har deadline.

Med venlig hilsen
wavie
Avatar billede wavie Nybegynder
16. januar 2002 - 17:18 #1
Det skal lige siges at
$specname[@$x] = $(\"spec_\" + $x);
$specvalue[@$x] = ($value_ + $x + \",\");
ser sådan ud fordi jeg har leget lidt med det :)
Avatar billede wavie Nybegynder
16. januar 2002 - 19:24 #2
Basicly hvad det skal kunne er at tage værdierne fra de genererede input boxes og lægge dem, komma sepereret, i en string som bliver gemt i databasen. At svare :)
Avatar billede wizprod.com Nybegynder
20. januar 2002 - 15:48 #3
hehe IRC kan løse meget hva\' :-))

nøgleordene er vars var og implode :P

Ses senere, og nyd laksen, eller det der!
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