简体   繁体   English

将多维php数组插入mysqli数据库

[英]Inserting a multi-dimensional php array into a mysqli database

the code here,does not work 这里的代码不起作用

$sub1="Mathematics";
$sub2="Chemistry";
$sub3="Biology";
$sub4="Hindi";
$sub5="History";
$sub6="Malayalam";
$sub7="Physics";

$timetable = array
  (
  array("Monday","Tuesday","Wednesday","ThursdaY","Friday"),
  array($sub1,$sub1,$sub1,$sub1,$sub1),
  array($sub3,$sub2,$sub6,"Arts",$sub5),
  array($sub2,"Ethics","science",$sub3,"science"),
  array($sub4,$sub3,$sub5,$sub7,$sub3),
  array("Arts",$sub6,$sub5,$sub2,$sub7),
  array($sub6,$sub2,$sub4,$sub6,$sub5),
  array($sub5,$sub4,$sub3,$sub4,$sub6)
);
 for($i=$q;$i<=7+$q;$i++)
    {
     $query = "INSERT INTO `class`(`class`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`) VALUES ('$class','$array[$i][0]', '$array[$i][1]', '$array[$i][2]', '$array[$i][3]', '$array[$i][4]', '1')";

           $que=mysqli_query($obj->conn,$query);  
}

I would like to insert it into a mysqli table where the week of the subject array (sub1, sub2, sub3,sub4,sub5) are the column titles and each subsequent array is a row in the table. 我想将其插入到mysqli表中,其中主题数组(sub1,sub2,sub3,sub4,sub5)的星期是列标题,而每个后续数组是表中的一行。

Could anyone advice as to the best way to do this as I have hit a wall and it has left me with a hurting head! 有人能建议我做这件事的最好方法,因为我撞墙了,这使我头疼!

$i = 1;    
for($timetable as $tt) {

    if( $i != 1 ) {

        $query = "INSERT into class (`class`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`) VALUES (`$class`, `$tt[0]`, `$tt[1]`, `$tt[2]`, `$tt[3]`, `$tt[4]`, 1)";

        $que = mysqli_query($obj->conn, $query);
    }
    $i = $i + 1;
}

Try this! 尝试这个! Hope will work for you. 希望能为您服务。

I expect you can understand what I am trying to say on your code . 我希望您能理解我要对您的代码说的话。

$sub1="Mathematics";
$sub2="Chemistry";
$sub3="Biology";
$sub4="Hindi";
$sub5="History";
$sub6="Malayalam";
$sub7="Physics";

$class = 'XII';

$timetable = array
  (
  array($sub1,$sub1,$sub1,$sub1,$sub1),
  array($sub3,$sub2,$sub6,"Arts",$sub5),
  array($sub2,"Ethics","science",$sub3,"science"),
  array($sub4,$sub3,$sub5,$sub7,$sub3),
  array("Arts",$sub6,$sub5,$sub2,$sub7),
  array($sub6,$sub2,$sub4,$sub6,$sub5),
  array($sub5,$sub4,$sub3,$sub4,$sub6)
);

 for($i=0;$i<=7;$i++) {
     $query = "INSERT INTO `class`(`class`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`) VALUES ($class,$timetable[$i][0], $timetable[$i][1], $timetable[$i][2], $timetable[$i][3], $timetable[$i][4],1)";

           $que=mysqli_query($obj->conn,$query);  
}

I have some assumption here, like $class = 'XII' and "class" table has 7 fields 'class', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday' where 'saturday' seems to be holiday or something as it is getting 1 always. 我在这里有一些假设,例如$class = 'XII'"class"表具有7个字段'class', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday' ,其中'saturday'似乎是假期,或者总是1。

or instead for you cna consider using foreach 或者相反,您可以考虑使用foreach

 foreach($timetable as $ttable){
         $query = "INSERT INTO `class`(`class`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`) VALUES ($class,$ttable[0], $ttable[1], $ttable[2], $ttable[3], $ttable[4],1)";

         $que=mysqli_query($obj->conn,$query);  
  }

why you have a 5th element in 3rd child array of $timetable if you are inserting 1 for it everytime, I do not understand that too . 为什么每次在表$ timetable的第3个子数组中都有第5个元素,为什么我每次也不插入1。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM