Ir para conteúdo

POWERED BY:

Arquivado

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

Apenas Eu

Combox + PHP + Ajax = Envio de dados incorretos

Recommended Posts

Olá!

 

Eu tenho um combox Quantidade / Tamanho. De acordo com o que o usuario selecionar na quantidade, vai carregar as medidas disponíveis ou tamanhos do produto.

 

Eu adaptei o script que encontrei de estado / cidade. Os valores aparecem corretamente na lista, mas estes não são os mesmo enviados para o BD do "carrinho de orçamentos".

 

No Caso das quantidades, embora o visitante por exemplo selecione "1000" a tag "value" seleciona id da linha.

 

Na tabela "quantidade" tenho os campos:

cod_quantidade / sigla / nome / id_consulta / relacionar

 

Os Campos que nos interessa mesmo, é apenas "sigla" e "cod_quantidade". No campo "sigla" contém os dados que o usuário seleciona. Daí se em sigla o valor é 1000 (unidades), o valor que acaba indo para o banco de dados é o id 25, entende?

 

O caso do "tamanho" acontece algo similar. Ao invés de ser enviado o valor clicado do tamanho (ex. 10x15cm) é o valor da id dos tamanho que é inserida no BD.

 

Na tabela "tamanhos" temos:

quantidade_cod_quantidade / cod_tamanho / nome / id_consulta

 

Se a pessoa selecionar o "nome "(tamanho) "148x210mm" o valor levado ao carrinho é o "cod_tamanho" correspondente que seria o "500". Entende?

 

Como a técnica usada é o PHP e o Java Script, acho que o ajuste precisa ser feito no JS. Eu tentei trocar algumas coisas, mas daí não funcionava.

 

Eu torço para que eu tenha conseguido explicar direitinho a situação. Dá para acessar o site por aqui:

http://dcsdesenvolvimento.com.br/detalhes/adesivos-personalizados-sulfite-campo-mourao/220#

 

O cód que acho que está o problema é aqui>

<?php
		
		?>
		<div class='form-group'>
		<label for='inputEmail3' class='col-sm-2 control-label'>Quantidade </label>
		<div class='col-sm-10'>
		<select name="quantidade" id="cod_quantidade" class='form-control'>
			<option value="">-- Escolha a Quantidades --</option>
			<?php while ( $row5 = mysql_fetch_assoc( $res ) ){ echo '<option value="'.$row5['cod_quantidade'].'">'.$row5['sigla'].'</option>';}
			?>
		</select>
		</div>
	</div>
		<div class='form-group'>
		<label  for="cod_tamanho" class='col-sm-2 control-label' >Tamanho</label>
		<span class="carregando">Aguarde, carregando123...</span>
				<div class='col-sm-10'>
		<select name="tamanho" id="cod_tamanho" class='form-control'>
			<option value="">-- Escolha o Tamanho --</option>
		</select>
		</div>
		</div>
		<script src="http://www.google.com/jsapi"></script>
		<script type="text/javascript">
		  google.load('jquery', '1.3');
		</script>		

		<script type="text/javascript">
				$(function(){
			$('#cod_quantidade').change(function(){
				if( $(this).val() ) {
					$('#cod_tamanho').hide();
					$('.carregando').show();
					$.getJSON('<?php $_SERVER['SERVER_NAME']?>/tamanhos.ajax.php?search=', {cod_quantidade: $(this).val(), ajax: 'true'}, function(j){
						var options = '<option value=""></option>';	
						for (var i = 0; i < j.length; i++) {
							options += '<option value="' + j[i].cod_tamanho + '">' + j[i].nome + '</option>';
						}	
						$('#cod_tamanho').html(options).show();
						$('.carregando').hide();
					});
				} else {
					$('#cod_tamanho').html('<option>– Escolha uma quantidade –</option>');
				}
			});
		});
		</script>

Obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sabe como é né? Eu posto as coisas aqui e não paro de cutucar e muitas vezes eu consigo resolver. Nesse caso eu quase consegui. Faltou apenas a linha do PHP mesmo. A parte do JS eu troquei os values por id e funcionou.

 

Na Linha do PHP eu fiz o mesmo, mas funciona só em partes

 

<?php while ( $row5 = mysql_fetch_assoc( $res ) ){ echo '<option id="'.$row5['cod_quantidade'].'" value="'.$row5['cod_quantidade'].'">'.$row5['sigla'].'</option>';}
?>

Colocando a variável cod_quantidade em ID, funcionou até, mas digamos que funcionou pela metade. Tipo ele não carrega todos os dados da tabela. Eu só precisava disso para resolver o problema. Será que daí eu teria que postar agora no tópico de PHP?

 

Obrigado :)

 

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.