2015-10-05 76 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