1

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:)

4
  • Can You post a $_POST ? Commented May 13, 2015 at 15:27
  • What do you mean with "post a $_POST " Commented May 13, 2015 at 15:33
  • Show us what $_POST contains after posting a form. Commented May 13, 2015 at 15:33
  • the post-content are all groupids in a array and the userid from this code: <input type="hidden" name="userid" value="<?php echo $menuItem['id']; ?>"> Commented May 13, 2015 at 15:38

1 Answer 1

2

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'] )); } 
Sign up to request clarification or add additional context in comments.

3 Comments

To the OP: The benefit here is prepared statements are fast to re-execute with new parameters.
How can I extend foreach syntax, If I want to add one more array :usertag'=>$_POST['usertag']
@BobiReshovski then $_POST['del'] need to be a multi-dimension array

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.