Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dieguinhu Web

Problema com registro em while

Recommended Posts

Gente me ajudem !!

 

Eu estou com problema em um while, o problema é o seguinte quando ele faz um insert ele nao pega o registro [0] e sim do [1] pra frente como posso pegar o [0] tambem??

 

 

olhem meu codigo

 

$item = 1;
while ($item != 0){
$item_tabela = trim($_POST['itens_tabela' . $item]);
$itens_tabela = explode("#",$item_tabela);
$query = "insert into venda 
					(estabelecimentoid, itemid, desconto, valor, qtdparcelas, data1aparc, intervalorepeticao, datasolicitacao, produtoid, logininclusao, datainclusao, responsavelvenda, DataCancelamento, ExpedicaoKit, DevContrato, DataPagamento, RespCobranca, QtdParcelasPagas) 
					values 
					('$est_id', '$itemid', '$desconto', '$valorItem', '$tbl_qtdparcelas',  '$itens_tabela[6]', '$itens_tabela[7]', GETDATE(),'$_POST[produto]', '$user_login', GETDATE(), $representanteid, $dt_cancelamento, $dt_expedicao, $dt_devctt, $dt_pagamento, $respcob, $tbl_qtdparcelas_pagas)
					 SELECT @@IDENTITY as IdV";
$item++;

 

ele insere certinho todos menos o registro [0] tentei setar 0 la em cima e nao funciona , nao insere...alguem pode me ajduar??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera vo postar o codigo inteiro senão, não vai ter jeito de vcs me ajudarem..

 

O que acontece é o seguinte ele insere numa tabela subitens quando chega no 11 ele insere normal no 12 ele insere só 11 no 13 ele insere so 12,

 

eu ja vasculhei esse codigo tente de tudo mas não consigo arrumar isso alguem me ajuda ai??

 

exatamente nessa varaivel $itens_tabela

 

CODIGO

 

$item = 1;
	while ($item != ""){


		$item_tabela = trim($_POST['itens_tabela' . $item]);


		if ($item_tabela == ""){
			$item =0;
		}

		else{

			$itens_tabela = explode("#",$item_tabela);
			$desconto = str_replace("%","", $itens_tabela[4]);

			$valorItem = str_replace("R$ ","", $itens_tabela[8]);
			$valorComDesconto = number_format($valorItem - ($valorItem * $desconto / 100),2);

			$valorComDesconto = str_replace(",","", $valorComDesconto);
			$valorItem = str_replace(",","", $valorItem);

			$spt_head = explode("|",$itens_tabela[2]);
			$venda_id = trim($spt_head[0]);
			$dt_cancelamento = (trim($spt_head[1]) == "" ? "null" : "'" . trim($spt_head[1]) . "'");
			$dt_expedicao = (trim($spt_head[2]) == "" ? "null" : "'" . trim($spt_head[2]) . "'");
			$dt_devctt = (trim($spt_head[3]) == "" ? "null" : "'" . trim($spt_head[3]) . "'");
			$dt_pagamento = (trim($spt_head[4]) == "" ? "null" : "'" . trim($spt_head[4]) . "'");
			$representanteid = (trim($spt_head[5]) == "" ? $representante_sv : "'" . trim($spt_head[5]) . "'");
			if ($dt_cancelamento == "null") $cliente_cancelado = false;

			$itemid = $itens_tabela[1];
			if (strpos($itemid,"-")) $itemid = substr($itemid,0,strpos($itemid,"-")) ;
			$qtd_m_repasse = 1;
			if (strpos($itemid,".")){
				$qtd_m_repasse = substr($itemid,strpos($itemid,".")+1)+1;
				$itemid = substr($itemid,0,strpos($itemid,"."));
			}

			$query_ck = "";
			$query_rep = "";


			$x_qtdparcelas			= explode("/",$itens_tabela[5]);
			$tbl_qtdparcelas 		= $x_qtdparcelas[1];
			$tbl_qtdparcelas_pagas	= $x_qtdparcelas[0];
			# --- 20101222 Mauro

			if ($venda_id == ""){
				//Responsavel cobrança
				$respcob = "null";
//					$result_rc = mssql_query("select top 1 respcobranca from politicacomercial where itemid = $itemid and politicaid = $politica_comercial") or die("Erro ao localizar responsável da cobrança \n" . mssql_get_last_message());
//					if (mssql_num_rows($result_rc) > 0) $respcob = "'" . trim(mssql_result($result_rc,0,"respcobranca")) . "'";

				$valorRepasse = 0;
				if($_POST['prazo_contrato'] == 1 or $_POST['prazo_contrato'] == 2){
					if($_POST['conexao'] == 7 and $itemid == 7) $valorRepasse = number_format(($valorItem*70.212766)/100 ,2);
					if($_POST['conexao'] == 9 and ($itemid == 6 or $itemid == 11)) $valorRepasse = number_format((115.00*29.787234)/100 ,2);
					switch ($_POST['conexao']) {
						case 1: 
						case 6: 
						case 7: 
						case 14:
							$result_rc = mssql_query("select top 1 respcobranca from politicacomercial where itemid = $itemid and politicaid = $politica_comercial and itemid in (1,2,4,5,6,11)") 
							or die("Erro ao localizar responsável da cobrança \n" . mssql_get_last_message());
							if (mssql_num_rows($result_rc) > 0) {
								$respcob = "'" . trim(mssql_result($result_rc,0,"respcobranca")) . "'";
								if($itemid == 6 or $itemid == 11) $CobConn = $respcob;
							}else{
								$UpdateRespCobrancaInItens = $itemid;
							}
							break;
						case 2:  
						case 8: 
						case 9:  
						case 12:
						case 11: 
						case 10: 
							$result_rc = mssql_query("select top 1 respcobranca from politicacomercial where itemid = $itemid and politicaid = $politica_comercial and itemid in (1,2,4,5)") 
							or die("Erro ao localizar responsável da cobrança \n" . mssql_get_last_message());
							if (mssql_num_rows($result_rc) > 0) {
								$respcob = "'" . trim(mssql_result($result_rc,0,"respcobranca")) . "'";
							}else{
								$respcob = "'1109'";
							}
							break;
					}
				}else{
					$result_rc = mssql_query("select top 1 respcobranca from politicacomercial where itemid = $itemid and politicaid = $politica_comercial") 
							or die("Erro ao localizar responsável da cobrança \n" . mssql_get_last_message());
							if (mssql_num_rows($result_rc) > 0) $respcob = "'" . trim(mssql_result($result_rc,0,"respcobranca")) . "'";
				}

				 $valorComDesconto
				$query = "insert into venda 
					(estabelecimentoid, itemid, desconto, valor, qtdparcelas, data1aparc, intervalorepeticao, datasolicitacao, produtoid, logininclusao, datainclusao, responsavelvenda, DataCancelamento, ExpedicaoKit, DevContrato, DataPagamento, RespCobranca, QtdParcelasPagas) 
					values 
					('$est_id', '$itemid', '$desconto', '$valorItem', '$tbl_qtdparcelas',  '$itens_tabela[6]', '$itens_tabela[7]', GETDATE(),'$_POST[produto]', '$user_login', GETDATE(), $representanteid, $dt_cancelamento, $dt_expedicao, $dt_devctt, $dt_pagamento, $respcob, $tbl_qtdparcelas_pagas)
					 SELECT @@IDENTITY as IdV";
				//Query para checkout - Pay&Go Client
				if ($itemid == 1){
					$query_ck = "insert into checkout 
						(estabelecimentoid,logininclusao,datainclusao,instaladorid,softwarehouseid,automacaoid,usuarioid) values 
						('$est_id','$user_login',GETDATE(), $instalador_ck, $softhouse_ck, $aut_versao_ck, '$serv_id')";
				}
				//Inserção em Repasse Default
				$query_rep = "select r.parceiroid, ". ($valorRepasse != 0 ? "valor = $valorRepasse" : "r.valor") ."
							from repasse r, politicacomercial pc where 
							pc.itemid = '$itemid' and pc.politicaid = $politica_comercial and CHARINDEX('#$_POST[conexao]#', conexaoid) >= 1 and "
							. ($qtd_m_repasse == 1 ? "(pc.qtdecheckout = 0 or pc.qtdecheckout = 1)" : "pc.qtdecheckout = $qtd_m_repasse") 
							. " and pc.politicarepasseid = r.politicarepasseid"
							. " and (CHARINDEX('#".str_replace("'","", $integrador_sv)."#', r.IntegradorId) >= 1 or r.IntegradorId is null or r.IntegradorId = '')";
			}else{
				$valorItem
				$query = "update venda set 
							itemid				='$itemid', 
							desconto			='$desconto', 
							valor				= $valorItem, 
							qtdparcelas			= $tbl_qtdparcelas, 
							data1aparc			= '$itens_tabela[6]', 
							intervalorepeticao	= '$itens_tabela[7]', 
							DataCancelamento	= $dt_cancelamento, 
							ExpedicaoKit		= $dt_expedicao, 
							DevContrato			= $dt_devctt,
							DataPagamento		= $dt_pagamento, 
							ResponsavelVenda	= $representanteid, 
							QtdParcelasPagas	= $tbl_qtdparcelas_pagas 
						where 
							vendaid='$venda_id'";


						$x_qtdparcelas				= explode("/",$itens_tabela[5]);
						$tbl_qtdparcelas 			= $x_qtdparcelas[1];
						$tbl_qtdparcelas_pagas	= $x_qtdparcelas[0];

				logBanco("
						SELECT 
							 VendaId
							,ItemId
							,Desconto
							,valor
							,QtdParcelas
							,CONVERT(VARCHAR
							,Data1aParc
							,103) AS Data1aParc
							,IntervaloRepeticao
							,CONVERT(VARCHAR
							,DataCancelamento
							,103) AS DataCancelamento
							,CONVERT(VARCHAR
							,ExpedicaoKit
							,103) AS ExpedicaoKit
							,CONVERT(VARCHAR
							,DevContrato
							,103) AS DevContrato
							,CONVERT(VARCHAR
							,DataPagamento
							,103) AS DataPagamento
							,ResponsavelVenda
							,QtdParcelasPagas 
						FROM
							Venda 
						WHERE 
							vendaid='$venda_id'"
							,
							array($itemid
							,$desconto
							,$valorItem
							,$tbl_qtdparcelas
							,$itens_tabela[6]
							,$itens_tabela[7]
							,$dt_cancelamento
							,$dt_expedicao
							,$dt_devctt
							,$dt_pagamento
							, $representanteid
							, $tbl_qtdparcelas_pagas)
							,
							'Venda');
			}
			$resultado = mssql_query($query) or die("Erro ao inserir/alterar itens de venda \n" . mssql_get_last_message() . "\n$query");



			//if($FirePHP and $itemid == 1) $firephp->log('vendaid '.trim(mssql_result($resultado,0,"IdV")));

			if ($query_rep != ""){
				$item_vendaid = trim(mssql_result($resultado,0,"IdV"));
				$result_rep = mssql_query($query_rep) or die("Erro ao listar repasse \n" . mssql_get_last_message() . "\n$query_rep" );
				while($repass = mssql_fetch_array($result_rep)){
					mssql_query("insert into repasse (parceiroid,valor,vendaid) values 
										('$repass[parceiroid]','$repass[valor]','$item_vendaid')");
				}
			}		

			if((isset($valorRepasse) && $valorRepasse != '') && (isset($sqlRepasseUp) && $sqlRepasseUp != '')) mssql_query($sqlRepasseUp);
			if ($query_ck != "") $resultado = mssql_query($query_ck) or die("Erro ao inserir checkout \n" . mssql_get_last_message() . "\n$query_ck");

			$item++;
		}
	}	

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera tive uma evolução descobri que esta comendo o 11

 

irePHP Ativo

#1#|||||##0%#0 / 1#18/05/2011#0#R$ 150.00#

#5#|||||##0%#0 / 12#13/05/2011#1#R$ 40.00#

#1.1#|||||##0%#0 / 1#18/05/2011#0#R$ 70.00#

#1.2#|||||##0%#0 / 1#13/05/2011#0#R$ 70.00#

#5.1#|||||##0%#0 / 12#13/05/2011#1#R$ 30.00#

#1.3#|||||##0%#0 / 1#13/05/2011#0#R$ 70.00#

#1.4#|||||##0%#0 / 1#13/05/2011#0#R$ 70.00#

#5.2#|||||##0%#0 / 12#13/05/2011#1#R$ 30.00#

#1.5#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#1.6#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#5.3#|||||##0%#0 / 12#13/05/2011#1#R$ 30.00#

#1.7#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#1.8#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#5.4#|||||##0%#0 / 12#13/05/2011#1#R$ 30.00#

#1.9#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#1.10#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#5.5#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

#6#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#1.12#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#5.6#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

#1.13#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#1.14#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#5.7#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

#1.15#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#1.16#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#5.8#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

#1.17#|||||##0%#0 / 1#13/05/2011#0#R$ 0.00#

#2#|||||##0%#0 / 1#18/05/2011#0#R$ 500.00#

#4#|||||##0%#0 / 12#13/05/2011#1#R$ 80.00#

#5.9#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

#5.10#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

#6#|||||##0%#0 / 12#13/05/2011#1#R$ 75.00#

#6#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

#6.1#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

#5.12#|||||##0%#0 / 12#13/05/2011#1#R$ 0.00#

 

esse é o log do que chega aqui

 

$item = 1;

while ($item != 0){

$item_tabela = trim($_POST['itens_tabela' . $item]);

if($FirePHP) $firephp->log($_POST['itens_tabela' . $item]);

 

 

ou seja ele esta dando conflito no 11 alguem tem uma solução????

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.