如何使用PHP浏览多个数组并提取每个数组中的每个值?

时间:2013-11-25 14:47:11

标签: php arrays

我写了一个程序,其中我有一个带有两个字段的表单和一个'PLUS BUTTON'点击它时会出现另外两个字段。通过再次单击“加号”按钮,将生成另外两个字段,并且它会继续多次单击“加号”按钮。这是我的计划。

 <form  action="project_values/action_nowproject.php" method="post"enctype="multipart/form-data"><div id="item"><input type="text" name="add_qty"  id="add_vender" class="ttexbox" required="required"><input type="text" name="add_name" class="ttexbox"><input onClick="addRowv(this.form);" type="button"style="cursor:pointer" class="addround" /></div></form>

在Javascript中

<script type="text/javascript"> var rowNum = 0; function addRowv(frm) { rowNum ++;
var row = '<p id="rowNum'+rowNum+'"><span class="ftext">Item quantity:</span>  <input type="text" name="m_name[]"  value="'+frm.add_qty.value+'"><br> <span  class="ftext">Item name: </span><input type="text" name="mi_name[]" value="'+frm.add_name.value+'"><br><br /> <input type="button" value="Remove" onclick="removeRow('+rowNum+');"></p>';
jQuery('#itemRowsv').append(row); frm.add_qty.value = ''; frm.add_name.value = ''; } function removeRow(rnum) { jQuery('#rowNum'+rnum).remove(); } </script>

现在我必须通过单击加号按钮获取显示的额外字段的值,然后将它们发送到数据库。

如何获取多个数组生成的值?继承我的sql查询插入语句。

$mp = "INSERT INTO  pm_manr(name,item_nm)VALUES ('$add_qty','$item_name')"; 

$updata = mysql_query($mp);

如何在$add_qty,$item_name中获取值?有人请帮助我。

2 个答案:

答案 0 :(得分:0)

我们假设你有类似的东西:

line 1 <input name="foo[]" />    <input name="bar[]" />
line 2 <input name="foo[]" />    <input name="bar[]" />
line Y <input name="foo[]" />    <input name="bar[]" />
line Z <input name="foo[]" />    <input name="bar[]" />

你可以通过使用foreach中其他值的键来循环遍历它们:

foreach($_POST['foo'] as $key =>$value){
    echo $_POST['foo'][$key]; // the same as echo $value
    echo $_POST['bar'][$key]; // the corresponding value of $_POST['bar']

    // This is where you add your query
}

答案 1 :(得分:0)

使用array_combine()创建一个数组,方法是使用keys数组中的值作为键,将values数组中的值作为相应的值。

试试这个:

$arr = array_combine($_POST['m_name'],$_POST['mi_name']); // combines both arrays
foreach($arr as $key => $value){
$mp = "INSERT INTO  pm_manr(name,item_nm)VALUES ('$key','$value')";
$updata = mysql_query($mp);
}