Avatar billede e_w Nybegynder
20. maj 2007 - 22:57 Der er 13 kommentarer og
1 løsning

visning af flere checkbox values

hejsa, jeg sidder lige og bakser med noget checkbox..

                                        <input type="checkbox" name="odre"  value="20"/> Digital billedefil (jpg) tilsendt via e-mai:?<br />
                                        <input type="checkbox" name="odre"  value="25"/> Digital billedefil (jpg) tilsendt på cd-rom:?<br />                                       
                                        <input type="checkbox" name="odre"  value="35"/> Fremkaldt billede 10 cm.?<br />
                                        <input type="checkbox" name="odre"  value="45"/> Fremkaldt billede 15 cm.?<br />
                                        <input type="checkbox" name="odre"  value="55"/> Fremkaldt billede 20 cm.?<br />       


sådan ser noget af min form ud, men da bruger selv skal kunne vælge samt fravælge hvad de ønsker at få vist, via checkbox.

problem er bare at hvis bruger nu har flere forskellige ting på sin checkbox så viser den kun 1 af dem når det er postes ud til resultalt.. :S
vil gerne have at den viser alle dem som bruger nu har sat flueben ved..
sådan ser min hente post ud..

$PostValue = $_POST['odre'];
                            switch ($PostValue)
                            {
                                case $DigitalSendtViaMail:
                                    echo 'Digital billedefil (jpg) tilsendt via e-mai.';
                                    break;
                           
                                case $DigitalSendtViaCdrom:
                                    echo 'Digital billedefil (jpg) tilsendt på cd-rom.';
                                    break;
                                   
                                case $FremKaldtbillede10cm:
                                    echo 'Fremkaldt billede 10 cm.';
                                    break;
                                   
                                case $FremKaldtbillede15cm:
                                    echo 'Fremkaldt billede 15 cm.';
                                    break;
                                   
                                case $FremKaldtbillede20cm:
                                    echo 'Fremkaldt billede 20 cm.';
                                    break;
                            }
Avatar billede erikjacobsen Ekspert
20. maj 2007 - 22:58 #1
Du kunne med fordel give dine checkboxe forskellige navne.
Avatar billede e_w Nybegynder
20. maj 2007 - 22:59 #2
ps. sådan ser mine variabler ud ved case delen

$DigitalSendtViaMail = 20;                                    $DigitalSendtViaCdrom = 25;                                $FremKaldtbillede10cm = 35;                                $FremKaldtbillede15cm = 45;                                $FremKaldtbillede20cm = 55;
Avatar billede e_w Nybegynder
20. maj 2007 - 23:00 #3
sys jeg har prøvet det.. men det vil den heller ikke rigtig reagere på.. :S
Avatar billede e_w Nybegynder
20. maj 2007 - 23:00 #4
og det vil stadig ikke løsne mit problem med at den skal vise dem som der er sat flueben på.. :S så vil den stadig kun vise 1 ud af de checkbox der er.. S:
Avatar billede 0xffff Nybegynder
20. maj 2007 - 23:33 #5
Behold det ene navn på din ordre checkbox. Det er den måde det gøres på.

Men, du skal huske at den leveres tilbage som et array. Derfor skal du iterere igennem dit array for at få det til at virke.

for ($i=0;$i < count($postValue); $i++)
{
  switch ($PostValue[$i])
  {
  case $DigitalSendtViaMail:
  echo 'Digital billedefil (jpg) tilsendt via e-mai.';
  break;           
  .
  .
  . 
  }
}
Avatar billede e_w Nybegynder
21. maj 2007 - 00:11 #6
nej :( ser ikke ud til at gøre det som den skal gøre.. den viser slet ikke noget tekst nu.. kun hvis jeg skriver noget ved default..


for ($i =0; $i < count($PostValue); $i++)
                            {
                              switch ($PostValue[$i])
                              {                               
                                    case "$DigitalSendtViaMail":
                                        echo 'Digital billedefil (jpg) tilsendt via e-mai.';
                                        break;
                               
                                    case "$DigitalSendtViaCdrom":
                                        echo 'Digital billedefil (jpg) tilsendt på cd-rom.';
                                        break;
                                       
                                    case "$FremKaldtbillede10cm":
                                        echo 'Fremkaldt billede 10 cm.';
                                        break;
                                       
                                    case "$FremKaldtbillede15cm":
                                        echo 'Fremkaldt billede 15 cm.';
                                        break;
                                       
                                    case "$FremKaldtbillede20cm":
                                        echo 'Fremkaldt billede 20 cm.';
                                        break;
                                           
                                    default:
                                        echo '';
                                    break;
                                }                               
                            }

:S hvad gør jeg forkert.. :S
Avatar billede 0xffff Nybegynder
21. maj 2007 - 00:46 #7
Hvor mange gange får du et resultat ud fra funktionen ? kun 1 eller flere ? hvis den printer flere værdier ud, betyder det at selve iterationsprocessen virker. Hvad den burde gøre.

Hvis den printer flere ud, ligger problemet i dine case constanter du sammenligner med. Så kan den ikke finde den rigtige værdi. Du kan eventuelt lave en echo $PostValue[$i] og checke at du har de rigtige værdier i din case.
Avatar billede e_w Nybegynder
21. maj 2007 - 21:31 #8
nej den poster kun den ene.. :(..
Avatar billede e_w Nybegynder
21. maj 2007 - 21:32 #9
og når jeg skriver

echo $PostValue[$i] ;                               


skriver den det antal som der er valgt i checkbox, hvis jeg har checked 3 udskriver den tallet 3
Avatar billede 0xffff Nybegynder
21. maj 2007 - 22:14 #10
Så er det sikkert dine cases der er galt.
Avatar billede e_w Nybegynder
21. maj 2007 - 22:27 #11
ahh nittte.. så er jeg ikke helt sikker på at jeg kan forstå det.. skriver lige koden ned sådan som den ser ud lige pt.


// Digital billedefil (jpg)                                 $DigitalSendtViaMail = 20;
                                   
// Digital billedefil (jpg)                                $DigitalSendtViaCdrom = 25;                                                   
// Fremkaldt billede 10 cm.
$FremKaldtbillede10cm = 35;
                                   
// Fremkaldt billede 15 cm.                                $FremKaldtbillede15cm = 45;                               

// Fremkaldt billede 20 cm.
$FremKaldtbillede20cm = 55;       




// Henter via input fra se faktura før denne funktion
                            for ($i = 0; $i < count($PostValue); $i++)
                            {
                              switch ($PostValue[$i])
                              {                               
                                    case "$DigitalSendtViaMail":
                                        echo 'Digital billedefil (jpg) tilsendt via e-mai.';
                                        break;
                               
                                    case "$DigitalSendtViaCdrom":
                                        echo 'Digital billedefil (jpg) tilsendt på cd-rom.';
                                        break;
                                       
                                    case "$FremKaldtbillede10cm":
                                        echo 'Fremkaldt billede 10 cm.';
                                        break;
                                       
                                    case "$FremKaldtbillede15cm":
                                        echo 'Fremkaldt billede 15 cm.';
                                        break;
                                       
                                    case "$FremKaldtbillede20cm":
                                        echo 'Fremkaldt billede 20 cm.';
                                        break;
                                           
                                    default:
                                        echo '';
                                    break;
                                }
                                            echo $PostValue[$i] ;                                                               
                            }



kan du måske se hvad der kan gøres anderledes?.. :S :( :$
Avatar billede 0xffff Nybegynder
22. maj 2007 - 09:15 #12
Jeg skal bruge din form for at se hvad der er galt også. men jeg gør noget andet istedet. Har lige lavet et eksempel der virker. Jeg er ret sikker på at du sammenligner med den forkerte variabel.

I HTM filen:
<form name="test" action="test.php" method="get">
    <input type="checkbox" name="test[]" value="første" checked="checked" />første
    <input type="checkbox" name="test[]" value="anden" />anden
    <input type="checkbox" name="test[]" value="tredje" />tredje
    <input type="checkbox" name="test[]" value="fjerde" />fjerde
    <input type="checkbox" name="test[]" value="femte" />femte
    <input type="submit" name="ok" value="send" />
</form>

I PHP filen:
if ( isset ($_GET['test'] ) )
{
    $test = $_GET['test'];
   
    for($i=0;$i < count($test);$i++)
    {
        switch ($test[$i])
        {                               
            case "første":
            echo 'Digital billedefil (jpg) tilsendt via e-mai.';
            break;
       
            case "anden":
            echo 'Digital billedefil (jpg) tilsendt på cd-rom.';
            break;
        }
    }
}
?>
Avatar billede e_w Nybegynder
22. maj 2007 - 09:48 #13
ahhh kan se at den form du har lavet er der test[] lavet sådan en array ting.. det havde  jeg ikke lavet.. så det virker nu.. det andet du lavede super!! Det var bare mig som lige have glemt det.. hehe nice!!!

send svar:P!!!!! og mange TAK
Avatar billede 0xffff Nybegynder
22. maj 2007 - 12:45 #14
velbekomme, og her er svaret.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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