Jump to content

Allkateia Carvalho

Members
  • Content count

    5
  • Joined

  • Last visited

Community Reputation

0 Comum

About Allkateia Carvalho

  1. Allkateia Carvalho

    Variaveis distintas de um array

    Boa tarde. Moderadores, me desculpem se estiver postando o código de maneira errada e se assim for, favor me corrigir explicando a maneira correta de postar o código. Este código é de autoria de Gilberto Albino de 31/03/2009, fiz algumas modificações e adaptações nele e assim usa-lo em meu novo projeto Aqui eu escolho o país, o estado, a cidade e o bairro e o comercio. Depois de ter feito estas escolhas, tudo através de combos dinâmicos, eu quero entrar em uma outra tabela e mandar procurar as informações baseadas nas opções anteriores escolhidas. Ou seja: Escolhi no 1º select o País Brasil Escolhi no 2º select o Estado Minas Gerais Escolhi no 3º select a Cidade Belo Horizonte Escolhi no 4º select o Bairro Centro Escolhi no 5º select o Comércio Papelaria Isso quer dizer que existe 5 variáveis com os valores: Brasil, Minas Gerias, Belo Horizonte, Centro e papelaria Quero pegar estas 5 variáveis, acessar uma outra tabela e buscar informações contidas nesta tabela, baseada nas informações das variáveis anteriores e montar um novo select com todas as informações encontradas, criando assim uma lista com outro select para que o usuário possa escolher uma das informações contidas neste ultimo select. Qualquer dúvida pergunta aí. Este é o formulario php: <html> <head> <script src="combo.js"></script> <style> label { display:block; } label span { font-weight:bold; display:block; } select { width:150px; } </style> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <h1>Localizações</h1> <label><span>País:</span> <select name="pais" id="pais"></select> </label> <label><span>Estado:</span> <select name="estado" id="estado"><option value="0">--Primeiro o País--</option></select> </label> <label><span>Cidade:</span> <select name="cidade" id="cidade"><option value="0">--Primeiro o Estado--</option></select> </label> <label><span>Bairro:</span> <select name="bairro" id="bairro"><option value="0">--Primeiro a Cidade--</option></select> </label> <label><span>Comércio:</span> <select name="comercio" id="comercio"><option value="0">--Primeiro o Bairro--</option></select> </label> <br /> <label><input type="submit" value="Procurar" /> </form> <?php if($_POST) { print '<pre>'; print_r($_POST); print '</pre>'; } ?> </body> </html> *************************************************************************************************************************************** Este é o php que faz os selects de acordo com as opção escolhidas <?php /* * Bloco para testar a conexão */ try { /* * Usei o banco mysql com o PDO. */ /* * Variáveis de conexao */ $servidor = 'localhost'; $usuario = 'root'; $senha = ''; $banco = 'appcom'; $con = new PDO("mysql:host={$servidor};dbname={$banco}", $usuario, $senha); $con->query('SET NAMES utf8'); /* * Através deste bloco vamos alterar nossas consultas dinâmicas * * $sql = consulta própria do tipo * $option = titulo que aparece no primeiro option da listagem * $string = auxiliador da busca de resultados */ switch($_GET['tipo']) { case 'pais' : $sql = "SELECT * FROM paises WHERE status = 1"; $option = 'o Pais'; $string = 'iso3'; break; case 'estado' : $sql = sprintf("SELECT * FROM estados WHERE iso3 = '%s' AND status = 1", $_GET['pais']); $option = 'o Estado'; $string = 'uf'; break; case 'cidade' : $sql = sprintf("SELECT * FROM cidades WHERE uf = '%s'", $_GET['estado']); $option = 'a Cidade'; $string = 'nome'; break; case 'bairro' : $sql = sprintf("SELECT * FROM bairros WHERE cidade = '%s'", utf8_encode($_GET['cidade'])); $option = ' o Bairro'; $string = 'nome'; break; } /* * Executamos o SQL aqui */ $consulta = $con->query($sql); /* * Iniciamos o resultado como null */ $resultado = null; /* * O primeiro option que vai aparecer já com o titulo dinâmico a partir de $option */ $resultado = sprintf( '<option value="%s">Escolha %s</option>', 0, $option ); $resultado .= sprintf( '<option value="%s">- - - - - - - - - - - - -</option>', 0 ); /* * Busco os resultados usando $c->string para identificar o ID dinâmico pois varia, no caso temos iso3, uf, nome e nome */ while($c = $consulta->fetch(PDO::FETCH_OBJ)) { $resultado .= sprintf( '<option value="%s">%s</option>', $c->$string, // o campo nome é comum a todos $c->nome ); } /* * Imprimimos o resultado */ print $resultado; } catch(Exception $e) { /* * Se não aparecer nada é porque a conexao falhou */ return null; } ********************************************************************************************************************************************* Este é o jQuery jQuery(document).ready ( function() { /* * Chamamos aqui a função que vai controlar os campos. * Desta forma, caso você precise repetir o combo dinâmico * basta trocar os ID's dos SELECT's */ comboDinamico("pais", "estado", "cidade", "bairro", "comercio"); // suposição de segundo bloco de selects // comboDinamico("pais_cliente", "estado_cliente", "cidade_cliente", "bairro_cliente"); } ); /* * função para carregar uma lista dinâmica */ comboDinamico = function(pais, estado, cidade, bairro, comercio) { /* * Variáveis que precisamos pegar * Usamos getElementById() pois é assim que conseguiremos * passar o elemento por variável para jQuery */ var pais = document.getElementById(pais); var estado = document.getElementById(estado); var cidade = document.getElementById(cidade); var bairro = document.getElementById(bairro); var comercio = document.getElementById(comercio); /* * Carregamos a lista automaticamente quando a página carrega */ $(pais).load('localizacoes.php?tipo=pais'); /* * Populamos o combo dos estados quando trocamos um valor no pais * Os próximos blocos serão similares quanto à validação pelo valor igual à zero */ $(pais).change( function() { if($(this).val() == 0) { alert('Você precisa informar um PAÍS!'); $(this).focus(); } else { $(estado).load('localizacoes.php?tipo=estado&pais=' + $(this).val()); } } ); /* * Populamos o combo das cidades quando trocamos um valor no estado */ $(estado).change( function() { if($(this).val() == 0) { alert('Você precisa informar o ESTADO!'); $(this).focus(); } else { $(cidade).load('localizacoes.php?tipo=cidade&estado=' + $(this).val()); } } ); /* * Populamos o combo dos bairros quando trocamos um valor na cidade */ $(cidade).change( function() { if($(this).val() == 0) { alert('Você precisa informar a CIDADE!'); $(this).focus(); } else { $(bairro).load('localizacoes.php?tipo=bairro&cidade=' + escape($(this).val())); } } ); /* * Populamos o combo dos comercio quando trocamos um valor no bairro */ $(bairro).change( function() { if($(this).val() == 0) { alert('Você precisa informar o BAIRRO'); $(this).focus(); } else { $(comercio).load('localizacoes.php?tipo=comercio&bairro=' + escape($(this).val())); } } ); /* * Uma validação simples só para garantir que não escolher um valor nulo */ $(comercio).change( function() { if($(this).val() == 0) { alert('Você precisa informar o COMÉRCIO!'); $(this).focus(); } else { return true; } } ); }
  2. Allkateia Carvalho

    Variaveis distintas de um array

    Bom dia a todos. Tenho um código php que trata 4 selects de tabelas diferentes populando selects. Quando eu escolho o País ele me mostra todos os estados, quando escolho o Estado, ele me mostra a cidade e quando eu escolho a cidade, ele me mostra o Bairro. Com estas informações já selecionadas, eu quero entrar na tabela comercio e buscar todos os comércios que estão cadastrados no País, Estado, Cidade e Bairro escolhidos nos selects. e coloca-los em um outro <select><option></select></option>. Se quiserem, posso postar o código, se ficar alguma dúvida quanto ao meu pedido. No aguardo.
  3. Allkateia Carvalho

    valor de um registro no banco de dados por variável mysql php

    Agradeço de mais a sua atenção, resolveu o problema. Se eu tiver mais alguma dúvida, posto aqui. Tenha uma boa semana.
  4. Allkateia Carvalho

    valor de um registro no banco de dados por variável mysql php

    Irmão, obrigado por responder, porem, sou iniciante em programação e tenho muitas dúvidas e este material que estou desenvolvendo é exatamente para o meu treinamento, pois não possuo curso na área e estou aprendendo sozinho, lendo materiais da internet, livros e assistindo videoaulas. Poderia ser mais específico? Vou postar o código que eu fiz e se você puder me corrigir, agradecerei muito. <cote> Aqui ele abre o DB e pega os valores digitados e passa para as variáveis. <?php $con = mysql_connect('localhost', 'root', '') or die ("Problemas na conexão."); mysql_select_db('appcom', $con) or die ("Problemas na conexão."); $nome = mysql_real_escape_string($_REQUEST['nome']); $email = mysql_real_escape_string($_REQUEST['email']); $sexo = mysql_real_escape_string($_REQUEST['sexo']); $dtnasc = mysql_real_escape_string($_REQUEST['dtnasc']); $telfixo = mysql_real_escape_string($_REQUEST['telfixo']); $telcel = mysql_real_escape_string($_REQUEST['telcel']); $estado = mysql_real_escape_string($_REQUEST['estado']); $cidade = mysql_real_escape_string($_REQUEST['cidade']); $bairro = mysql_real_escape_string($_REQUEST['bairro']); $logradouro = mysql_real_escape_string($_REQUEST['logradouro']); $complemento = mysql_real_escape_string($_REQUEST['complemento']); $cep = mysql_real_escape_string($_REQUEST['cep']); $uf = mysql_real_escape_string($_REQUEST['uf']); $tipocom = mysql_real_escape_string($_REQUEST['tipocom']); // Aqui ele tem que entrar na tabela comercio e pegar o id do comercio escolhido pelo cliente baseado na informação da variável $tipocom (variável que ele escolhe o comercio que ele quer, baseado em um <selec>), esta variável vem com o nome do comercio, que é o mesmo nome cadastrado na tabela comercio. depois dele achar o registro na tabela comercio, ele pega o id do comercio e coloca na variável $codcomercio Obs. Esta mesma operação, o script tem que fazer para a tabela estado, cidade e bairro. aqui ele acessa a tabela cliente e insere os dados, inclusive o id do comercio que foi guardado na variável $codcomercio. $sql = "INSERT INTO clientes(cod_comercio,cod_estados,cod_cidades,cod_bairros,nome_cli,email_cli,sexo_cli,dtnasc_cli,telfixo_cli,telcel_cli,estado_cli,cidade_cli,bairro_cli,logradouro_cli,complemento_cli,cep_cli,uf_cli,tipocom_cli) VALUE ('$codcomercio','$codestados','$codcidades','$codbairros','$nome','$email','$sexo','$dtnasc','$telfixo','$telcel','$estado','$cidade','$bairro','$logradouro','$cep','$uf','$tipocom')"; ?> </cote>
  5. Tenho um banco de dados com 2 tabelas, a 1º tabela é o cliente e a 2ª é a comida. Tabela: cliente campos da tabela: cod_cli int 5 cod_comida int 5 nome_cli varchar 100 Tabela: comida campos da tabela cod_comida int 5 nome_comida varchar 100 Quando ele incluir um cliente, no form vai ter 2 campos para preencher, um é o nome do cliente e o outro, vai abrir um select para ele escolher a comida preferida do cliente. A tabela de comida já vai estar preenchida com vários tipos de comidas diferentes, quando ele confirmar o cadastro clicando no botão submit, preciso que seja feito uma usca na tabela comida e pegue o id da comida escolhida pelo cliente e na hora de fazer o insert na tabela cliente, possa ser inserido o id do cliente(auto increment), o nome do cliente e o id da comida que foi selecionada na tabela comida. Notem que quero apenas saber como faço esta pesquisa na tabela comida para pegar o id da comida selecionada pelo cliente e como volto para a tabela cliente para poder fazer o insert das informações a serem cadastradas. Agradeço a atenção. Meu e-mail é allkateia@hotmail.com No aguardo
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.