Jump to content


This topic is now archived and is closed to further replies.


MySQL INSERT multiple record from FORM

Recommended Posts

I have simple form with mutiples of 2 fields: status1 / name1,status2 / name2...

<form method="post" action="test1_edit.php">
<input type='checkbox' name='status[]' value='active'>Status1
<input name='name[]' type="text" />Name1<br />

<input type='checkbox' name='status[]' value='active'>Status2
<input name='name[]' type="text" />Name2<br />

<input name="submit" type="submit" /><br />

The test1_edit.php file is as below. If I only [!--coloro:#FF0000--][span style=\"color:#FF0000\"][!--/coloro--]INSERT $status, the form is working fine, but I don't how to INSERT both $status and $name in FOREACH[!--colorc--][/span][!--/colorc--].


foreach ($status as $status )
{ mysql_query ("INSERT INTO test (status)
VALUES('$status')",$connection);  // This works fine

//mysql_query ("INSERT INTO test (status, name))
VALUES('$status','$name')",$connection);// This doesn't work.

if (mysql_affected_rows()==1){
  } else {
    echo "Something went wrong!";
header("Location: test1.php"); ?>

Thanks for help!

Share this post

Link to post
Share on other sites
I'll assume both $_POST['status'] and $_POST['name'] are arrays with the same length. Then:

[code]for ($i=0; $i<count($_POST['status']); $i++) {
   $status = $_POST['status'][$i];
   $name = $_POST['name'][$i];
   mysql_query ("INSERT INTO test (status, name))

Use this instead of the foreach loop.

Share this post

Link to post
Share on other sites
This works fine. Thanks for your prompt help, Poirot. Really appreciated!

Share this post

Link to post
Share on other sites


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.