Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and the Yahoo Answers website is now in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.

JAY asked in 電腦與網際網路程式設計 · 1 decade ago

PHP二維陣列寫入資料庫

假如我有一個二維陣列

$example = array( array( 1,2,3),

array(4,5,6),

array(7,8,9) )

要怎麼利用for迴圈才能將上面的各個資料 insert 到資料庫裡面的資料表呢?

也就是php和MySQL的insert語法要如何混合使用呢?

謝謝了!!

Update:

喔喔不好意思我沒說清楚 @@

我是想要說插入的值表現如下:

con1 con2 con3

--------------------------------------------

con1 1 2 3

con2 4 5 6

con3 7 8 9

con1~ con3是欄位名稱

所以說這是屬於下面所說的方法嗎??不好意思喔 0.0

Update 2:

哇!!格式跑掉了!!希望您看得懂 @@

Update 3:

這樣說好了!!

con_id con1 con2 con3 分別是欄位名稱

預設con_id 那一行值分別為 a,b,c

所以當插入資料之後

a那一列對應到的con1~con3值分別為1,2,3

b那一列對應到的con1~con3值分別為4,5,6

c那一列對應到的con1~con3值分別為7,8,9

(以上是文字說明@@ 畫圖會歪掉 )

Update 4:

con_id con1 con2 con3

---------------------------------------

a 1 2 3

b 4 5 6

c 7 8 9

我的意思就是這樣 @@

2 Answers

Rating
  • Lv 4
    1 decade ago
    Favorite Answer

    大大您好:

    我建議大大是用foreach迴旋畢竟這樣會比較好用

    不過若大大堅持用for

    那也是大大您的選擇

    大大您的意思是說

    每一個值都要插入一筆記錄

    還是每一個陣列要插入一筆記錄?

    我先打出每一個直插入一筆記錄的方法

    若大大需要另一個

    請您告知一下

    我再打 ~

    <?php

    $example = array( array( 1,2,3),

    array(4,5,6),

    array(7,8,9));

    for($i = 0; $i < sizeof($example); $i ++)

    {

    for($j = 0; $j < sizeof($example[$i]); $j ++)

    {

    $sql = sprintf('INSERT INTO %s (%s) VALUES (%s)',

    '資料庫表明稱打這裡',

    '欄位名稱',

    $example[$i][$j]);

    mysql_qeury($sql);

    }

    }

    ?>

    若大大還有其他問題

    歡迎繼續補充發問

    2008-10-29 23:26:31 補充:

    大大您好:

    或許有點失禮

    不過我看不太懂 ...

    為什麼上面跟左邊都會有 con1 con2 con3

    上面的還是左邊的是蘭位?

    那另一邊的是 ..?

    con1 con2 con3

    --------------------------------------------

    con1 1 2 3

    con2 4 5 6

    con3 7 8 9

    2008-10-31 17:51:30 補充:

    請問您要的是不是這樣

    2008-10-31 17:53:41 補充:

    <?php $example = array( array( 1,2,3),array(4,5,6),array(7,8,9)); for($i=0; $i<sizeof($example); $i++){ $sql = sprintf('INSERT INTO %s (%s,%s,%s) VALUES (%s, %d, %d)','資料庫表明稱打這裡', '欄位名稱', $example[$i][0], $example[$i][1], $example[$i][2]); mysql_qeury($sql);} ?>

    2008-11-01 02:28:49 補充:

    阿阿阿

    發現個錯誤

    $sql = sprintf('INSERT INTO %s (%s,%s,%s) VALUES (%s, %d, %d)','資料庫表明稱打這裡', '欄位名稱', $example[$i][0], $example[$i][1], $example[$i][2]); mysql_qeury($sql);}

    2008-11-01 02:29:39 補充:

    改成

    $sql = sprintf('INSERT INTO %s (%s,%s,%s) VALUES (%s, %d, %d)','資料庫表明稱打這裡', 'con1', 'con2', 'con3', $example[$i][0], $example[$i][1], $example[$i][2]); mysql_qeury($sql);}

    Source(s): ─═★乂翼☆羽軒乂★═─
  • 1 decade ago

    喔那個我知道!!謝謝你啦!!

Still have questions? Get your answers by asking now.