Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have a multicheckbox in a <form> tag like this:

<input type="checkbox" name="del[]" value="<?php echo $menuItems['id']; ?>">

I ask this form with this code:

if (isset($_POST['subgruppe'])) {
        $ids = array();

    foreach ($_POST['del'] as $pval) {
        $ids[] = (int) $pval;
    }

    $ids = implode(',', $ids);
    echo "groupids";
    echo $ids;
    echo "userid:";
    echo $_POST['userid'];

This shows me a result like this:

groupids13,9...userid:5 

I need a statment that give me a result like this:

INSERT INTO user_groups (usergroup, userid) VALUE (13,5),(9,5)

... Can you give me a hint how i can check this? I think I can handel a solution that give me: (13,5),(9,5)... into a variable.

THanks a lot:)

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
359 views
Welcome To Ask or Share your Answers For Others

1 Answer

You don't have to build a single string for all of your INSERTS simply insert while you are looping.

For example:

$sql = "INSERT INTO user_groups (usergroup, userid) VALUE (:usergroup, :userid)";
$stmt = $pdo->prepare($sql);
foreach ($_POST['del'] as $pval) {
    $stmt->execute(array(':usergroup'=>(int) $pval, 
                         ':userid'=>$_POST['userid']
    ));
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...