2017-01-04 12 views
0

ここでコード、mysqliのデータベースに多次元PHP配列を挿入

$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); 
} 

動作しない私は、ここで対象配列(SUB1、SUB2の週mysqliのテーブルに挿入したいと思い、 sub3、sub4、sub5)は列タイトルであり、後続の各配列はテーブル内の行です。

私は壁に当たったときにこれを行うための最善の方法についてはアドバイスできませんでしたが、それは痛いヘッドで私を残しました!

+0

'$ array'は定義されていません。 –

+0

でも問題はありません。ありがとうございました –

+0

あなたは '$ class'で、$ classではないと確信していますか? –

答えて

0
$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; 
} 

希望はあなたのために働くでしょう。

+0

少なくとも引用符を追加してください。 –

0

私はあなたのコードで何を言おうとしているのか理解できると思います。

$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); 
} 

$class = 'XII'"class"表は'saturday'が、それは常に1を取得しているとして、休日か何かのようだ7つのフィールド'class', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'を持っているように私は、ここにいくつかの仮定を持っています。

またはその代わりに、あなたが毎回それのために1を挿入している場合は、$時刻表の第三子配列の5番目の要素を持っている理由

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); 
    } 

foreachの

を使用することを検討してCNAのためには、私はあまりにも理解していません。