Koryander Postado Julho 27, 2009 Denunciar Share Postado Julho 27, 2009 Estou com uma duvida há mais de mes, eu não consigo salvar o conteudo das combobox. Eu consigo fazer uma ser preenchida dependendo do valor da outra, mas na hora de salvar, só salva o conteudo da segunda combobox e as vezes não salva nenhuma. alguém com mais experiencia poderia me ajudar. Desde já agradeço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Julho 27, 2009 Denunciar Share Postado Julho 27, 2009 Como está seu código ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Koryander Postado Julho 31, 2009 Autor Denunciar Share Postado Julho 31, 2009 add.php<form id="FormName" action="added.php" method="post" name="FormName"> <script type="text/javascript" src="js.js"></script> <?php $conexao = mysql_connect("localhost","root"); if (!$conexao)die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); $banco = mysql_select_db("anna17_loja17",$conexao); if (!$banco)die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());?> <table width="448" border="0" cellspacing="2" cellpadding="0"> <tr><td><td><td> <?php $sql = "SELECT * FROM codigobarra ORDER BY id"; $resultado = mysql_query($sql); $linha = mysql_num_rows($resultado); $registro = mysql_fetch_array($resultado); ?> <select name="codproduto" id="codproduto" onChange="mostrarproduto(this.value)"> <option value="00">Selecione</option> <?php while ($dados = mysql_fetch_array($resultado, MYSQL_ASSOC)){ ?> <option value="<?php echo $dados["id"];?>"> <?php echo $dados["produto"];?> </option> <?php }?></select> <div id="produtos"></div></td> added.php <?php include("add.php"); $conexao = mysql_connect("localhost","root"); if (!$conexao)die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); $banco = mysql_select_db("anna17_loja17",$conexao); if (!$banco)die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error()); //$temp = array_values($_POST); //$cod = implode($temp); $codigo = $_POST['codproduto'] ." ".$_POST['codtipo']." " .$_POST['codmodelo']." " .$_POST['codcomplemento']; $descricao = $_POST['produto'].$_POST['tipo'].$_POST['modelo'].$_POST['complemento']; $query = "INSERT INTO teste (produto, codigodebarra) VALUES ('$cod', '$cod')"; $resultado = mysql_query($query) or die ("Could not execute query : $query." . mysql_error()); ?> <pre><?php print_r($_POST) ?></pre> produtos.php <?php $conexao = mysql_connect("localhost","root"); if (!$conexao)die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); $banco = mysql_select_db("anna17_loja17",$conexao); if (!$banco)die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error()); E esse é o ajax que monta a combo dinamica js.js function iniciaProduto() { //verifica se o navegado é o Iternet Explorer ou outros navegadores if(window.ActiveXObject) { //estância o objeto ActiveX ajax = new ActiveXObject("Microsoft.XMLHTTP"); } else { ajax = new XMLHttpRequest(); } return ajax; } function carregaproduto() { //limpa as codproduto já existentes document.getElementById('produtos').innerHTML = ""; //pega o local onde a combo de codproduto será exibida] var local = document.getElementById('produtos'); //cria uma combo select var combo = document.createElement('select'); combo.setAttribute('name','codproduto'); combo.setAttribute('id','codproduto'); var opcao = document.createElement('option'); opcao.setAttribute('value', 00); opcao.appendChild(document.createTextNode("Carregando...")); //adiciona essa opção na combo combo.appendChild(opcao); //coloca a combo dentro do div local.appendChild(combo); } function mostrarproduto(id) { //informa que está carregando as codproduto carregaproduto(); //inicia o AJAX ajax = iniciaProduto(); ajax.onreadystatechange = mostrarproduto2; //abre a conexão com o servidor ajax.open("GET", "produtos.php?id="+id); //envia a requisição para o servidor ajax.send(); } function mostrarproduto2() { //verifica o status da requisição, se for o processamento está completo if (ajax.readyState == 4) { //verifica o número do status, se for diferente de 200 tem algum erro if (ajax.status == 200) { var xml = ajax.responseXML; if(xml != null) { if(xml.hasChildNodes()) { //limpa as codproduto já existentes document.getElementById('produtos').innerHTML = ""; //pega o local onde a combo de codproduto será exibida] var local = document.getElementById('produtos'); //cria uma combo select var combo = document.createElement('select'); combo.setAttribute('name','codproduto'); combo.setAttribute('id','codproduto'); //pega todas as codproduto qae retornou do XML var nos = xml.getElementsByTagName('codproduto'); //faz um loop para percorrer todas as tags produto for(cont = 0; cont < nos.length; cont++) { //verifica se é o IE if(window.ActiveXObject) { var idcodproduto = nos[cont].childNodes[0].firstChild.nodeValue; var codproduto = nos[cont].childNodes[1].firstChild.nodeValue; } else { var idcodproduto = nos[cont].childNodes[1].firstChild.nodeValue; var codproduto = nos[cont].childNodes[3].firstChild.nodeValue; } //cria um option do select var opcao = document.createElement('option'); opcao.setAttribute('value', idcodproduto); opcao.appendChild(document.createTextNode(codproduto)); //adiciona essa opção na combo combo.appendChild(opcao); } //coloca a combo dentro do div local.appendChild(combo); } } } else { alert("Houve um problema ao carregar a lista de codproduto:\n" + ajax.statusText); } } } $codigo = "SELECT * FROM codigobarra WHERE id = '{$_GET['id']}'"; $resultado = mysql_query($codigo) or die(mysql_error()); header("Content-Type: application/xml"); $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\r\n"; $xml .= "<produtos>\r\n"; $totalBanco = 0; while($dados = mysql_fetch_array($resultado)) { $xml .= "\t<codproduto>\r\n"; $xml .= "\t\t<id>{$dados['id']}</id>\r\n"; $xml .= "\t\t<nome>{$dados['codproduto']}</nome>\r\n"; $xml .= "\t</codproduto>\r\n"; } $xml .= "</produtos>\r\n"; echo $xml; ?>Se você puder me ajudar car vai ser uma benção rsrsrE a minha tabela esta assim:-- Banco de Dados: `anna17_loja17`---- ------------------------------------------------------------ Estrutura da tabela `codigobarra`--CREATE TABLE IF NOT EXISTS `codigobarra` ( `id` int(4) unsigned zerofill NOT NULL, `produto` varchar(255) CHARACTER SET latin1 DEFAULT NULL, `tipo` varchar(255) CHARACTER SET latin1 DEFAULT NULL, `modelo` varchar(255) CHARACTER SET latin1 DEFAULT NULL, `complemento` varchar(255) CHARACTER SET latin1 DEFAULT NULL, `tamanho` varchar(255) CHARACTER SET latin1 DEFAULT NULL, `cor` varchar(255) CHARACTER SET latin1 DEFAULT NULL, `codproduto` varchar(4) CHARACTER SET latin1 DEFAULT NULL, `codtipo` varchar(4) CHARACTER SET latin1 DEFAULT NULL, `codmodelo` varchar(4) CHARACTER SET latin1 DEFAULT NULL, `codcomplemento` varchar(4) CHARACTER SET latin1 DEFAULT NULL, `codtamanho` varchar(4) CHARACTER SET latin1 DEFAULT NULL, `codcor` varchar(4) CHARACTER SET latin1 DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci ROW_FORMAT=DYNAMIC;---- Extraindo dados da tabela `codigobarra`--INSERT INTO `codigobarra` (`id`, `produto`, `tipo`, `modelo`, `complemento`, `tamanho`, `cor`, `codproduto`, `codtipo`, `codmodelo`, `codcomplemento`, `codtamanho`, `codcor`) VALUES(0000, '', '', '', '', '', '', '', '', '', '', '', ''),(0001, 'Agasalho', 'cacharrel', 'abrigo', 'com babado', 'EXTRA GRANDE', 'AMARELO', '100', '200', '300', '400', '10', '500'),(0002, 'Baby look', 'cotton', 'cadeirão', 'com bolso', 'GESTANTE', 'AZUL', '101', '201', '301', '401', '11', '501'),(0003, 'Básica', 'crepe', 'capri', 'com cós duplo', 'GRANDE', 'BRANCO', '102', '202', '302', '402', '12', '502'),(0004, 'Bata', 'helanca', 'cigarrete', 'com cós duplo e corda', 'INFANTIL', 'CINZA', '103', '203', '303', '403', '13', '503'),(0005, 'Bermuda', 'lã', 'corsário', 'com cós largo', 'INFANTO JUVENIL', 'CINZA CLARO', '104', '204', '304', '404', '14', '504'),(0006, 'Blusa', 'lastek', 'curta', 'com cós largo e Gel', 'JUVENIL', 'ESTAMPADO', '105', '205', '305', '405', '15', '505'),(0007, 'Bolero', 'lycra', 'frente única', 'com cós largo e Strass', 'MEDIO', 'MARRON', '106', '206', '306', '406', '16', '506'),(0008, 'Calça', 'microtel', 'gola', 'com cós simples', 'PEQUENO', 'PRETO', '107', '207', '307', '407', '17', '507'),(0009, 'Camisete', 'poliester', 'legging', 'com estampa comun', '', 'ROSA', '108', '208', '308', '408', '18', '508'),(0010, 'Colete', 'poliviscose', 'longa', 'com estampa em tranfer', '', 'ROSA BEBE', '109', '209', '309', '409', '19', '509'),(0011, 'Jaqueta', 'renda', 'morcego', 'com fru fru', '', 'ROSA PINK', '110', '210', '310', '410', '20', '510'),(0012, 'Macaquinho', 'ribana', 'pijama', 'com Gel', '', 'ROYAL', '111', '211', '311', '411', '21', '511'),(0013, 'Regata', 'suplex', 'regata', 'com sobrepor', '', 'TIGRADO', '112', '212', '312', '412', '22', '512'),(0014, 'Saia', 'viscolycra', 'tubinho', 'com sobrepor sem costura lateral', '', 'VERDE', '113', '213', '313', '413', '23', '513'),(0015, 'Segunda pele', 'viscose', '', 'com Strass', '', 'VERDE CLARO', '114', '214', '314', '414', '24', '514'),(0016, 'Short', '', '', 'com viés', '', 'VERDE ESCURO', '115', '215', '315', '415', '25', '515'),(0017, 'Top', '', '', 'com ziper', '', 'VERDE OLIVA', '116', '216', '316', '416', '26', '516'),(0018, 'Túnica', '', '', 'tradicional', '', 'VERMELHO', '117', '217', '317', '417', '27', '517'),(0019, 'não usado', 'não usado', 'não usado', 'não usado', 'não usado', 'não usado', '0', '0', '0', '0', '0', '0'); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 31, 2009 Denunciar Share Postado Julho 31, 2009 A query que insere é essa:$query = "INSERT INTO teste (produto, codigodebarra) VALUES ('$cod', '$cod')"; $resultado = mysql_query($query) or die ("Could not execute query : $query." . mysql_error());Se for, em nenhum lugar existe a variável $cod... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Koryander Postado Agosto 7, 2009 Autor Denunciar Share Postado Agosto 7, 2009 A query que insere é essa:$query = "INSERT INTO teste (produto, codigodebarra) VALUES ('$cod', '$cod')"; $resultado = mysql_query($query) or die ("Could not execute query : $query." . mysql_error());Se for, em nenhum lugar existe a variável $cod...Desculpa pela demora mas to procurando essa solução em tudo quanto é lugar se você puder ajudar, eu errei o codigo o certo é esse:<a href="index.php"><strong>VOLTAR</strong></a><?phpinclude("add.php");$conexao = mysql_connect("localhost","root");if (!$conexao)die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error());$banco = mysql_select_db("anna17_loja17",$conexao);if (!$banco)die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());//$temp = array_values($_POST);//$cod = implode($temp); $codigo = $_POST['codproduto'] ." ".$_POST['codtipo']." " .$_POST['codmodelo']." " .$_POST['codcomplemento'];$descricao = $_POST['produto'].$_POST['tipo'].$_POST['modelo'].$_POST['complemento'];$query = "INSERT INTO teste (produto, codigodebarra) VALUES ('$codigo', '$descricao')";$resultado = mysql_query($query) or die ("Could not execute query : $query." . mysql_error());?><pre><?php print_r($_POST) ?></pre>A minha dificuldade, é que os valores não vem pra essa pagina do codigo, vem apenas os indices e por isso eu não consigo salvar os dados certos... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Koryander
Estou com uma duvida há mais de mes, eu não consigo salvar o conteudo das combobox. Eu consigo fazer uma ser preenchida dependendo do valor da outra, mas na hora de salvar, só salva o conteudo da segunda combobox e as vezes não salva nenhuma.
alguém com mais experiencia poderia me ajudar.
Desde já agradeço
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.