【问题标题】:Insert 2 array to mysql with PHP使用PHP将2个数组插入mysql
【发布时间】:2015-12-18 23:27:16
【问题描述】:

我有 2 个带有数组的表格

 <form action="addschedule.php" method="post">
 <?php
      $n = 0;
      $c = 0;
      echo "<Select name='jam[]'>";
      do{
          if($c>10){$n="";}
          echo "<option>".$n.$c.":00</option>";
          echo "<option>".$n.$c.":30</option>";
          $c++;
         }while($c<24);
?>
<input type="text" name="nampro[]"></td>
<input type="submit" id="submit" class="btn btn-success" value="submit">
</form>
<input class="btn btn-primary" id="addrow" value="Add Row">

然后它看起来像这样

这是addschedule.php

<?php
include_once("connect.php");
    if(!empty($_POST['jam'])){
        foreach($_POST['jam'] as $jmt){
            echo $jmt."<br>";
            echo $_POST['nampro'];
        }
    }
?>

我想把'jam'和'nampro'插入mysql

$result=$mysqli->query('INSERT INTO SCHEDULE VALUES ('$jam','$nampro');

但是我怎样才能得到“nampro”或者任何人有更好的方法来做到这一点?我是 PHP 新手,谁能帮忙?

【问题讨论】:

  • 你截图中的nampro输入框在哪里?
  • 输入类型文本
  • 你在echo $_POST['nampro']; 中得到123 吗?
  • @JitendraPurohit 我相信$_POST['nampro'] 是一个数组。
  • 不,它只是返回“数组”

标签: php mysql arrays


【解决方案1】:

试试这个代码

<?php
include_once("connect.php");
    if(!empty($_POST['jam'])){
        $namproPost     =   $_POST['nampro'];
        foreach($_POST['jam'] as $key=>$jmt){
           // echo $jmt."<br>";
            $nampro = $namproPost[$key];
            $result=$mysqli->query('INSERT INTO SCHEDULE VALUES ($jmt,$nampro)');
        }
    }
?>

【讨论】:

  • 因为$nampro是查询中的数组,所以不能直接使用。你必须提到数组的索引,比如$nampro[0]
【解决方案2】:

我可以看到两个数组的长度相同,因此您可以执行以下操作:

$jam = $_POST['jam']; 
$namePro = $_POST['nampro'];

$sql = array();
foreach( $jam as $key=>$val ) {
    $sql[] = '("'.$val.'", '.$namePro[$key].')';
}
$result = $mysqli->query('INSERT INTO SCHEDULE VALUES '.implode(',', $sql));

解释:

$jam = ['test','google','facebook','yahoo']; 
$namePro = [123,112,110,100];

$sql = array();
foreach( $jam as $key=>$val ) {
    $sql[] = '("'.$val.'", '.$namePro[$key].')';
}
echo('INSERT INTO SCHEDULE VALUES '.implode(',', $sql)); 

会给你输出:

插入时间表值(“test”,123),(“google”,112),(“facebook”, 110),(“雅虎”, 100)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 2011-11-10
    • 2011-04-27
    • 1970-01-01
    • 2016-10-19
    相关资源
    最近更新 更多