Avatar billede tobrukDk Novice
14. april 2013 - 19:46 Der er 10 kommentarer og
1 løsning

flere checkbox på engang

Hej

lige nu arbejder jeg på at gøre sådan at man kan tilføj flere checkbox på en gang som gør det muligt. f.eks at jeg tilføj 3 uddannelse til checkbox, og der efter skal de blive lagt ind i databasen, men det gør de ikke på nogle måde overhovedet. jeg kan ikke rigtig finde ud af hvad problemer skulle være,

Jeg har prøvet at kig her:

http://stackoverflow.com/questions/4997252/get-post-from-multiple-checkboxes


<form action="#" method="post">
        <table width="100%">
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="1" class="new"> Grund Brand</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="2" class="new"> Funktion brand</label>           
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="3" class="new"> Holdleder brand</label>       
                </td>
            </tr>
           
           
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="4" class="new"> Grund redning</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="5" class="new"> Funktion redning</label>           
                </td>
                <td>
                    <label<input type="checkbox" name="foo[]" value="6" class="new"> Holdleder redning</label>           
                </td>
            </tr>
           
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="7" class="new"> Grund inkvartering/forplejning</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="8" class="new"> Funktion inkvartering/forplejning</label>   
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="9" class="new"> Holdleder inkvartering/forplejning</label>   
                </td>
            </tr>
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="10" class="new"> Grund kommunikation</label>
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="11" class="new"> Grund kommunikation</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="12" class="new"> Holdleder kommunikation</label>           
                </td>
            </tr>
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="13" class="new"> Chauffør</label>           
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="14" class="new"> Nødbehandler</label>   
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="15" class="new"> Kystlivredder</label>
                </td>
            </tr>
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="16" class="new"> Redningsdykker</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="17" class="new"> Røgdykkerinstruktør</label>
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="18" class="new"> Holdleder kommunikation</label>           
                </td>
            </tr>
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="19" class="new"> Overtændingsinstruktør</label>
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="20" class="new"> Førstehjælpsinstruktør</label>       
                </td>
                <td>
                    <input type="submit" name="godkendt" value="Tilføj" class="new">   
                </td>
            </tr>
        </table>
        </form>
        <?php
        if(isset($_POST["godkendt"]))
        {
            foreach ($_POST["foo[]"] as $check)
            {
                if ($stmt = $this->mysqli->prepare('INSERT INTO `uddannelse` (`rank_U`, `id_navn`, `id_bruger`, `godkendt`) VALUES (?, ?, ?, ?)')) {

            /* Bind parametre */
            $stmt->bind_param('ssii', $rank_U, $id_navn, $id_bruger, $godkendt);

            /* Sæt værdier på parametrene */
            $rank_U = $_POST["foo[]"];
            $id_navn = $_SESSION["navn"];
            $id_bruger = $_SESSION["id"];
            $godkendt = 0;

            /* Eksekver forespørgslen */
            $stmt->execute();
           
            if($stmt->insert_id && $stmt->insert_id > 0)
            {
                echo '<meta http-equiv="refresh" content="0;URL=".curPageURL().">';
            }
           
           
            $stmt->close();

        } else {
            /* Der er opstået en fejl */
            echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
        }   
            }
        }
        ?>



Håber du kan hjælp mig videre!
Avatar billede olebole Juniormester
14. april 2013 - 20:02 #1
<ole>

Variablerne ligger i $_POST["foo"] på serveren. Det er kun i HTML-koden, du bruger array-parenteserne: name="foo[]"

/mvh
</bole>
Avatar billede tobrukDk Novice
14. april 2013 - 20:05 #2
du tænker sådan her ikke også ?



            /* Bind parametre */
            $stmt->bind_param('ssii', $rank_U, $id_navn, $id_bruger, $godkendt);

            /* Sæt værdier på parametrene */
            $rank_U = $_POST["foo"];
            $id_navn = $_SESSION["navn"];
            $id_bruger = $_SESSION["id"];
            $godkendt = 0;
Avatar billede olebole Juniormester
14. april 2013 - 20:07 #3
Jo, og:

foreach ($_POST["foo"] as $check)
Avatar billede tobrukDk Novice
14. april 2013 - 20:12 #4
Den kommer ind i databasen, men det er value som ikke kommer med ind i databsen


Du kan se her hvad jeg mener;

http://billedeupload.dk/?v=l2Zkq.png

du skal kig efter id 5 og 6, men id 1 er den rigtig men den skal godkendt bare være på 0 når den kommer ind i databasen da den skal blive godkendt første.

kan du se hvad jeg mener?
Avatar billede tobrukDk Novice
14. april 2013 - 20:13 #5
Updater version her



<form action="#" method="post">
        <table width="100%">
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="1" class="new"> Grund Brand</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="2" class="new"> Funktion brand</label>           
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="3" class="new"> Holdleder brand</label>       
                </td>
            </tr>
           
           
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="4" class="new"> Grund redning</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="5" class="new"> Funktion redning</label>           
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="6" class="new"> Holdleder redning</label>           
                </td>
            </tr>
           
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="7" class="new"> Grund inkvartering/forplejning</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="8" class="new"> Funktion inkvartering/forplejning</label>   
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="9" class="new"> Holdleder inkvartering/forplejning</label>   
                </td>
            </tr>
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="10" class="new"> Grund kommunikation</label>
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="11" class="new"> Grund kommunikation</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="12" class="new"> Holdleder kommunikation</label>           
                </td>
            </tr>
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="13" class="new"> Chauffør</label>           
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="14" class="new"> Nødbehandler</label>   
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="15" class="new"> Kystlivredder</label>
                </td>
            </tr>
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="16" class="new"> Redningsdykker</label>       
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="17" class="new"> Røgdykkerinstruktør</label>
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="18" class="new"> Holdleder kommunikation</label>           
                </td>
            </tr>
            <tr>
                <td>
                    <label><input type="checkbox" name="foo[]" value="19" class="new"> Overtændingsinstruktør</label>
                </td>
                <td>
                    <label><input type="checkbox" name="foo[]" value="20" class="new"> Førstehjælpsinstruktør</label>       
                </td>
                <td>
                    <input type="submit" name="godkendt" value="Tilføj" class="new">   
                </td>
            </tr>
        </table>
        </form>
        <?php
        if(isset($_POST["godkendt"]))
        {
            foreach ($_POST["foo"] as $check)
            {
                if ($stmt = $this->mysqli->prepare('INSERT INTO `uddannelse` (`rank_U`, `id_navn`, `id_bruger`, `godkendt`) VALUES (?, ?, ?, ?)')) {

            /* Bind parametre */
            $stmt->bind_param('ssii', $rank_U, $id_navn, $id_bruger, $godkendt);

            /* Sæt værdier på parametrene */
            $rank_U = $_POST["foo"];
            $id_navn = $_SESSION["navn"];
            $id_bruger = $_SESSION["id"];
            $godkendt = 0;

            /* Eksekver forespørgslen */
            $stmt->execute();
           
            if($stmt->insert_id && $stmt->insert_id > 0)
            {
                echo '<meta http-equiv="refresh" content="0;URL=".curPageURL().">';
            }
           
           
            $stmt->close();

        } else {
            /* Der er opstået en fejl */
            echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
        }
            }
        }
        ?>

Avatar billede olebole Juniormester
14. april 2013 - 20:21 #6
Mon ikke, der skal stå:

$rank_U = $check;
Avatar billede olebole Juniormester
14. april 2013 - 20:23 #7
- og så er $rank_U vel et tal, så der skal nok også stå:

$stmt->bind_param('isii', $rank_U, $id_navn, $id_bruger, $godkendt);
Avatar billede tobrukDk Novice
14. april 2013 - 20:24 #8
Nej Olebole, desværre :( Det hjælper ikke :(
Avatar billede olebole Juniormester
14. april 2013 - 20:26 #9
Prøv #6 og #7. Så tror jeg, det virker  =)
Avatar billede tobrukDk Novice
14. april 2013 - 20:32 #10
Tak for hjælpen!


if ($stmt = $this->mysqli->prepare('INSERT INTO `uddannelse` (`rank_U`, `id_navn`, `id_bruger`, `godkendt`) VALUES (?, ?, ?, ?)')) {

            /* Bind parametre */
            $stmt->bind_param('isii', $rank_U, $id_navn, $id_bruger, $godkendt);

            /* Sæt værdier på parametrene */
            $rank_U = $_POST["foo"];
            $id_navn = $_SESSION["navn"];
            $id_bruger = $_SESSION["id"];
            $godkendt = 0;

            /* Eksekver forespørgslen */
            $stmt->execute();
           
            if($stmt->insert_id && $stmt->insert_id > 0)
            {
                echo '<meta http-equiv="refresh" content="0;URL=".curPageURL().">';
            }
           
           
            $stmt->close();

        } else {
            /* Der er opstået en fejl */
            echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
        }


sådan skulle jeg bare gøre :) Tak tak!

lukker selv her fra! og igen tak!
Avatar billede tobrukDk Novice
14. april 2013 - 20:34 #11
Dog er der det problem at den smide den ind hvis jeg f.eks tag 1 og 6, så ligger den 2 gang 1 ind i databasen. hvor jeg bare vil have 1 og 6
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





Premium
Søstrene Grene skifter Microsoft ud med SAP og rykker for første gang i clouden i stor ERP-transformation: Der er brug for en helt ny tilgang