Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, travei aqui e não consigo resolver, preciso da ajuda de vocês.
Abaixo tem o codigo que deveria cadastrar no banco de dados todos os id's vindo do array "accounts" pego por $_Post da página anterior.
A variável está vindo com os valores normais do array, qdo dou um echo nela aparecem todos os valores do checkbox selecionado, tudo certinho.
O problema está na rotina do foreach. Ele teria que pegar o primeiro valor (que é o valor do checkbox da página anterior e também o id do usuario na tabela) e dar um imput .
Quando eu seleciono somente um checkbox na página anterior ele faz o imput normalmente, mas quando eu seleciono mais que um valor ele não funciona, a rotina trava.
Onde estou errando??
Segue o codigo:
<?php
require 'boot.php';
$self='invoices'.EXT;
$act = _post('act');
$cid = $_POST["accounts"];
if ($act==''){
$act = _get('_cmd');
}
$rtxt = '';
/////////////////////////////////////
foreach($cid as $valores) {
/////////////////////////////////////
switch ($act){
case 'add':
$notes = _post('notes');
$amount = $_POST['amount'];
$sTotal='0';
$i = '0';
foreach ($amount as $samount){
$amount[$i]= $samount;
$sTotal += $samount;
$i++;
}
$tax = _post('tax');
$taxval = '0.00';
$taxname = '';
$fTotal = $sTotal;
if ($tax!='0'){
$dt = ORM::for_table('taxes')->find_one($tax);
$taxrate = $dt['rate'];
$taxname = $dt['name'];
$taxtype = $dt['type'];
if ($taxtype=='Excluded'){
$taxval = ($sTotal*$taxrate)/100;
$fTotal = $fTotal+$taxval;
}
else {
$taxval = ($sTotal*$taxrate)/100;
$sTotal = $fTotal-$taxval;
}
}
$vtoken = _raid(10);
$ptoken = _raid(10);
$d = ORM::for_table('invoices')->create();
$d->userid = $valores;
$d->created = date('Y-m-d');
$d->duedate = date('Y-m-d');
$d->subtotal = $sTotal;
$d->total = $fTotal;
$d->tax = $taxval;
$d->taxname = $taxname;
$d->vtoken = $vtoken;
$d->ptoken = $ptoken;
$d->status = 'Unpaid';
$d->save();
$invoiceid= $d->id();
$description = $_POST['description'];
$i='0';
foreach ($description as $item){
$d = ORM::for_table('invoiceitems')->create();
$d->invoiceid = $invoiceid;
$d->userid = $valores;
$d->description = $item;
$d->amount = $amount[$i];
$d->save();
$i++;
}
$rtxt = 'Fatura Salva Com Sucesso';
////////////essa chave abaixo é do foreach do array da página anterior////////////////////////
}
///////////////////////////////////////////
}
if ($rtxt==''){
r2($self,'e','Action not defined');
}
r2($self,'s',$rtxt);Carregando comentários...