2015-10-05 32 views
-1

我寫了一個代碼,會得到客戶的每月攤銷和客戶的總支付不包括客戶每月攤銷的平衡。我的問題是如何將結果插入到另一個數組中?插入在陣列中的另一個陣列

$remaining = 12200; 
    $amort = 5742; 

    for($remaining += $amort; 

    $remaining > $amort; 

    ($result[] = ($remaining-=$amort) < $amort ? $remaining : $amort) 

    ); 

print_r($result); 

這裏的結果

Array ([0] => 5742 [1] => 5742 [2] => 716) 

而且,我想在$結果陣列插入到另一組數組的,這裏是我的代碼。

$data4[] = array('collection_payment'=>$result); 

$ DATA 4的結果將是在mysql數據庫中插入一個,因此,如果您打印$ DATA4,這將是結果,

Array ([collection_payment] => 5742 [collection_payment] => 5742 [collection_payment] => 716) 

任何想法?

+0

爲何否決? – PHP5lite

+0

使用'implode()'函數 – aldrin27

+0

什麼樣的數據庫? MySQL的? MSSQL?你用什麼庫連接到上述數據庫? mysqli_? PDO? sqlsrv_?你甚至有數據庫設置?你的問題可以通過一些輕量級的Google搜索來回答。 – Terminus

回答

0

它仍然weid。

我想改變你的代碼,但一旦你讀它你會得到的想法:

$remaining = 12200; 
$amort = 5742; 
$rest = $remaining % $amort; 
$qt = (12200 - $rest)/$amort; 
$text = ""; 
for($i=0;$i<$qt;$i++){ 
    $text .= ($i>0) ? ",($amort)" : "($amort)"; 
} 
if($rest > 0){ 
    $text .= ",($rest)"; 
} 


所以,如果你這樣做:

"INSERT INTO table_name (COLUMNs) VALUES $text;"; 

這將顯示:

"INSERT INTO table_name (COLUMNs) VALUES (5742),(5742),(716);"; 

並一次插入所有值。如果你有一個以上的欄,可以使結果是這樣的適應代碼在FOR的每個循環添加值,並在插件中添加名稱:

"INSERT INTO table_name (column_name1, column_name2) VALUES (5742,val1),(5742, val2),(716, val3);" 
+0

謝謝,我再次更新我的代碼。 – PHP5lite

+0

是的,你不能使用同樣的鑰匙。你不能以不同的方式看待問題嗎?如果你想在同一刀片添加多個值,你可以嘗試通過他們的循環,並添加'()',就像這樣:'INSERT INTO X(場)VALUES(5742),(5742),(716);'。請注意,您也可以擁有amort值,需要多少次以及剩下的次數。 – FirstOne

+0

你能編輯你的答案嗎?謝謝 – PHP5lite