(RESOLVIDO)Contar Parcelas

Prezados, como faço para contar a quantos parametros tem entre a / neste caso ?

Ex. 30/60/90
$condicao=explode("/",$CondicaoPagto);

ele vai jogar no meu laço esses valores,. só que antes preciso informar que são 3 parcelas.

Como faço para não ter que informar que é 3 parcelas ?

Tipo. quero escrever no campo 30/60/90 e ao processar já entender que é 3…

O explode retorna um array. Use a funcao size () paara saber o tamanho do array.

Jean,

Que tal algo como:

$parcelas =‘30/60/90’;
$num_parcelas = substr_count($parcelas, ‘/’)+1;

[]s

Recomendo assim, bem mais fácil, o PHP tem 1 milhão de funções para manipular strings, hehe e viva as matrizes.

Seria isso ?

$condicao=explode("/",$CondicaoPagto); $quantidade = size($condicao);

Fatal error: Call to undefined function size() in C:\Program Files (x86)\Ne

não é size é count.

$quant=count($array);

A função é count. Foi mal. Size acho que é em java.

Ok…tudo certo…

    [code]$condicao=explode("/",$prazo);	
$numero = count($condicao);	
$parcela = 1;[/code]

valores();
sleep(1);
if(empty({data_entrega})){
echo “O CAMPO DATA DE ENTREGA NÃO PODE ESTAR EM BRANCO. FAVOR INFORMAR DATA”;
}else{

//ESSE GRUPO DE CODIGO GERA AS APS

sc_lookup(dataset,"
SELECT sequencial, idobra, idfornecedor, valorODC, valorfinal, idprazo, tipo_paga, frete, baixa, prazo
FROM tblOrdemdeCompra
WHERE idordem = ‘{idordem}’");

$sequencial = {dataset[0][0]};
$idobra 	= {dataset[0][1]};
$fornecedor = {dataset[0][2]};
$bruto 		= {dataset[0][3]};
$final 		= {dataset[0][4]};
$prazo 		= {dataset[0][5]};
$tipo_paga	= {dataset[0][6]};
$frete 		= {dataset[0][7]};
$baixa 		= {dataset[0][8]};
$prazo 		= {dataset[0][9]};


	$datalanca = Date('Ymd G:i:s');


$condicao=explode("/",$prazo);	
$numero = count($condicao);	
$parcela = 1;

foreach($condicao as $dias)
{
	 
	//$vencimentoF = sc_date_conv({data_entrega},"ddmmaaaa","aaaammdd");
	$vencimento = sc_date({data_entrega}, "aaaa-mm-dd "," + ", $dias, 0, 0);
	$valorparcela = $final / $numero;
	$insert_table  = 'autoriza_pagamento';      // Table name
	$insert_fields = array(   // Field list, add as many as needed
 	'usuario' 			=> "'[usr_login]'",
	'data_lancamento' 	=> "'$datalanca'",
	'centro_custo' 		=> "'$idobra'",
	'fornecedor' 		=> "'$fornecedor'",
	'odc' 				=> "'$sequencial'",
	'tipo_cobranca'		=> "'$tipo_paga'",
	'valor_bruto' 		=> "'$bruto'",
	'valor_liquido' 	=> "'$final'",
	'numero_parcela' 	=> "'$parcela'",
	'valor_parcela' 	=> "'$valorparcela'",
	'vencimento' 		=> "'$vencimento'",
	'status' 			=> "'1'",
	'idEmpre' 			=> "'{faturar}'",
	'contabilizado' 	=> "'2'",

);

// Insert record
$insert_sql = ‘INSERT INTO ’ . $insert_table
. ’ (’ . implode(’, ‘, array_keys($insert_fields)) . ‘)’
. ’ VALUES (’ . implode(’, ', array_values($insert_fields)) . ‘)’;

sc_exec_sql($insert_sql);
$parcela++;

sc_lookup(ds,“SELECT MAX(id_ap) AS ultimoID
FROM dbo.autoriza_pagamento
GROUP BY usuario
HAVING (usuario = ‘[usr_login]’)”);

$id_ap = {ds[0][0]};
SetNumeroAp(‘APC’,$id_ap);
}

//atualiza status da ordem de compra

// SQL statement parameters
$update_table = ‘tblOrdemdeCompra’; // Table name
$update_where = “idordem = ‘{idordem}’”; // Where clause
$update_fields = array( // Field list, add as many as needed
“idstatus = ‘7’”,

);

// Update record
$update_sql = ‘UPDATE ’ . $update_table
. ’ SET ’ . implode(’, ', $update_fields)
. ’ WHERE ’ . $update_where;
sc_exec_sql($update_sql);
}

geraiso();
atualizaiso();
contabilidade($final);
sc_exit(ref);