Avatar billede krab Praktikant
21. maj 2005 - 17:41 Der er 7 kommentarer og
1 løsning

Select box array foreach

Hey E..

Jeg har et lille problem som helt sikkert er mega simpel,, ka bare ikk få det til at virke, lidt skod !!

foreach($HTTP_POST_VARS['select_grupper[]'] as $value) {
    echo  $value;
}

<select name="select_grupper[]" multiple="multiple" size=8>
    <?
    $sql_grupper_query = mysql_query("select * from persongrupper");
    while($sql_grupper = mysql_fetch_array($sql_grupper_query)) {
        $sql_gruppestyring = mysql_fetch_array(mysql_query("select * from gruppestyring where grp_id='$sql_grupper[persongrupper_id]'"));
        if($sql_gruppestyring[personer_id] == $sql_ret[personer_id]) {
        $ok = "true";
        }
    ?>
    <option <?if($ok == "true") { echo "selected"; }?> value="<?$sql_grupper[persongrupper_id]?>"><?=$sql_grupper[navn];?></option>
    <?}?>
</select>

Hvorfor virker dette ikke??
Avatar billede barklund Nybegynder
21. maj 2005 - 17:47 #1
Du skal ikke have [] med som navnet på PHP-siden, der modtager data - og kan du ikke bruge $_POST i PHP >= PHP4) istedet for $HTTP_POST_VARS?

foreach($_POST['select_grupper'] as $value) {
    echo  $value;
}

Burde virke :)

--
Morten Barklund
Avatar billede barklund Nybegynder
21. maj 2005 - 17:51 #2
Derudover mangler du også et lighedstegn i din option-php - men det er nu pænere at lave i ren php:


    while($sql_grupper = mysql_fetch_array($sql_grupper_query)) {
        $sql_gruppestyring = mysql_fetch_array(mysql_query("select * from gruppestyring where grp_id='$sql_grupper[persongrupper_id]'"));
        printf("<option value=\"%s\" %s>%s</option>,
            $sql_grupper['persongrupper_id']
            $sql_gruppestyring['personer_id'] == $sql_ret['personer_id'] ? "selected=\"selected\" " : "",
            $sql_grupper['navn']
        );
    }

Er lidt mere nydeligt og overskueligt :)

--
Morten Barklund
Avatar billede barklund Nybegynder
21. maj 2005 - 17:51 #3
Hov, der mangler selvfølgelig et komma:

    while($sql_grupper = mysql_fetch_array($sql_grupper_query)) {
        $sql_gruppestyring = mysql_fetch_array(mysql_query("select * from gruppestyring where grp_id='$sql_grupper[persongrupper_id]'"));
        printf("<option value=\"%s\" %s>%s</option>,
            $sql_grupper['persongrupper_id'],
            $sql_gruppestyring['personer_id'] == $sql_ret['personer_id'] ? "selected=\"selected\" " : "",
            $sql_grupper['navn']
        );
    }

:)

--
Morten Barklund
Avatar billede krab Praktikant
21. maj 2005 - 17:51 #4
Humm... takk,,

men den udskriver nu ikke noget.. :(
Avatar billede barklund Nybegynder
21. maj 2005 - 17:54 #5
Hvilken af dem? Altså - kan du ikke modtage variablerne?

Prøv en gang at lave en komplet dump af $_POST:

var_dump($_POST);

Så kan du se, hvilke værdier, som der bliver sendt til din side :)
Avatar billede krab Praktikant
14. juni 2006 - 09:08 #6
Smider du et svar: barklund
Avatar billede barklund Nybegynder
14. juni 2006 - 09:16 #7
Fair :)
Avatar billede barklund Nybegynder
14. juni 2006 - 17:23 #8
Taktak :)
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