h_felix
-
Total de itens
18 -
Registro em
-
Última visita
Posts postados por h_felix
-
-
Boa tarde amigo ,
De uma olhada sobre inner join.
Sem a estrutura das tabelas , fica dificil montar uma query. então , vamos supor que suas tabelas estejam assim :
artigo:
id , id_cor , nome , descricao , data .
cor :
id , cod , descricao.
Sua query ficaria assim :
Select a.nome, a.descricao from artigo as a inner join cor as c on (a.id_cor = c.id) where c.descricao = 'preto' .
Explicando : selecione o nome e descricao da tabela artigo junto da tabela cor onde o Id_cor da tabela artigo é igual ao id da tabela cor , onde a descricao da cor deve ser = PRETA.
Acho que com isso , já resolve seu problema .
-
Boa tarde ,
Acredito que o jeito que informei seja o mais adequado para a sua situação.
Na sua tela que lista as solicitações pendentes , vamos chama-la de solicitacoes.php
solicitacoes.php
Primeiro , você monta a tabela com os carros pendentes :
function conexao(){ $dbuser = "root"; $dbpass = "1234"; try { $pdo = new PDO('mysql:host=localhost;dbname=crm', $dbuser, $dbpass); $pdo -> setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); $pdo->exec("SET CHARACTER SET utf8");//corrige os acentos na hora de gravar no BD } catch(Exception $e) { echo 'Erro na conexao: ' . $e->getMessage(); } } $conexao = conexao(); function pegaCarros($pdo){ //aqui , passo o valor da conexão criada $id = $_GET['id']; try{ $sql = "SELECT id FROM `solicitacao` WHERE carro ='Pendente"; //como voce só vai usar o ID , nao faz sentido usar o SELECT * FROM $stmt = $pdo->prepare($sql); $stmt->execute(); $linha = $stmt->fetchAll(PDO::FETCH_ASSOC); if($stmt->rowCount() == 1){ return $linha; } } catch (Exception $e){ print "Ocorreu um erro ao tentar executar esta ação"; print "Erro: Código: " . $e-> getCode() . " Mensagem: " . $e->getMessage(); } } $carros = pegaCarros($conexao); //passo o valor da conexao para a funcao , e jogo o retorno na variavel $carros <table class="table table-bordered table-hover"> <thead> <tr> <th> Registro </th> <th> Açao </th> </tr> </thead> <tbody> <?php for($i = 0; $i < count($carros); $i++){ print'<tr> <td>'. $carros[$i]['id'].'</td> <td> ' <button type="button" name="registro" id="registro" value="'.$carros[$i]['id].'">Botao</button></td> </tr> '; ?> </tbody> </table>
<script> function pegaDados() /* funcao que executa o script ao carregar a pagina */ { var id = $('#registro').val(); //pego o valor do botao jQuery.ajax ({ url: "pegaCarros.php?id="+id, //URL de destino dataType: "json", //Tipo de Retorno success: function(data) { //data -> variavel com o retorno do ajax $('#registro').html(data.registro); //jogo o resultado do json nome em HTML $('#motorista').html(data.motorista); //jogo o resultado do json nome em HTML etc etc etc, $('#meuModal').modal('show'); //chama o modal para a tela } //function(data); }); } $("#registro").click(pegaDados); //aciona a funçao ao clicar no botao "registro" </script>
<div class="modal fade" id="meuModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Carros com registro pendente</h4> </div> <div class="modal-body"> <table> <tr> <td>Registro:</td> <td id="registro"></td> "id="motorista" -> valor criado em html na funcao em js </tr> <tr> <td>Motorista:</td> <td id="motorista"></td> //"id="motorista" -> valor criado em html na funcao em js </tr> <tr> <td> <input type="button" value="Autorizar" onclick="autorizar()" /> </td> </tr> </table> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button> </div> </div> </div> </div>
então , você cria um arquivo chamado pegarCarros.php , o codigo em javascrip vai mandar o ID para esse arquivo , o select será feito nele e ele retornará os dados para você.
Assim , não fica recarregando a pagina com um formulário , o que deixa a navegação (no meu ponto de vista) "ruim" , pois toda vez que alguém clicar no botão , a pagina ia ser recarregada.
Segue exemplo da pagina pegarCarros.php
function conexao(){ $dbuser = "root"; $dbpass = "1234"; try { $pdo = new PDO('mysql:host=localhost;dbname=crm', $dbuser, $dbpass); $pdo -> setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); $pdo->exec("SET CHARACTER SET utf8");//corrige os acentos na hora de gravar no BD } catch(Exception $e) { echo 'Erro na conexao: ' . $e->getMessage(); } } $conexao = conexao(); function pegaDados($pdo){ $id = $_GET['id']; try{ $sql = "SELECT * FROM `solicitacao` WHERE carro ='Pendente', id=$registro"; $stmt = $pdo->prepare($sql); $stmt->execute(); $linha = $stmt->fetch(PDO::FETCH_ASSOC); if($stmt->rowCount() == 1){ return $linha; } } catch (Exception $e){ print "Ocorreu um erro ao tentar executar esta ação"; print "Erro: Código: " . $e-> getCode() . " Mensagem: " . $e->getMessage(); } } $dados = pegaDados($conexao); $dados = json_encode($dados); //converto para json print($dados);
Pronto!
Não cheguei a testar a pagina de retorno do Json , mas acredito que vá funcionar.
Esta tudo comentado e organizado , qualquer duvida posta ae
-
Bom dia ,
Não entendi muito bem o problema , mas acredito que dê para fazer assim :
<button id="btnAcao" class="button" value="<?$dadoBanco;?> " />Clique aqui</button>
então , quando a pessoa clicar no botao , ele aciona uma funcao que faz uma consulta com ajax e retorna os dados que você quer.
function pegaDados() /* funcao que executa o script ao carregar a pagina */ { var id = $('#btnAcao').val(); //pego o valor do botao jQuery.ajax ({ url: "minhaUrl.php?id="+id, //URL de destino dataType: "json", //Tipo de Retorno success: function(data) { //data -> variavel com o retorno do ajax $('#nome').html(data.nome); //jogo o resultado do json nome em HTML } //function(data); }); }
Na sua Pagina minhaUrl.php :
Você faz o _GET do id $id = $_GET['id'] e ai faz a consulta no banco para trazer os resultados que você quer.
Depois de pegar os resultados , converte eles para json e imprime na tela:
Ex:
function pegaDados($pdo){ $id = $_GET['id']; try{ $sql = "SELECT nome, count(*) as total, FROM minhaTabela v WHERE id = $id"; $stmt = $pdo->prepare($sql); $stmt->execute(); $linha = $stmt->fetch(PDO::FETCH_ASSOC); if($stmt->rowCount() == 1){ $arr['nome'] = $linha['nome']; $arr['total'] = $linha['total']; return $arr; } } catch (Exception $e){ print "Ocorreu um erro ao tentar executar esta ação"; print "Erro: Código: " . $e-> getCode() . " Mensagem: " . $e->getMessage(); } } $dados = pegaDados($conexao); $dados = json_encode($dados); //converto para json print($dados);
E em seu modal , você exibe o conteúdo :
<div id="meuModal" > <h1>Nome: </h1> <span id="nome"></span> </div>
Então , você chama a função pegaDados() quando clicar no seu botão btnAcao , ele vai pegar o valor do botao e mandar para a pagina minhaUrl.php , a pagina processa os dados e retorna , você pega o resultado e joga ele para HTMl , depois é só exibir onde desejar.
Assim , a pagina não é recarregada quando o usuário clicar no botão .
Não sei se isso vai ajudar , mas qualquer coisa posta ae.
-
Bom dia ,
Amigo , meio estranho essa sua tabela.
Estou atrasado para o serviço , mas testei aqui e funcionou. Veja se te ajuda.
$funcao[0] = array( cod_aluno => 1498, cod_trimestre => 1, cod_disc => 430, aluno => 'MIKAEL', cod_turma => 66, turma => '1º V02', disciplina => 'Matemática', nota => 1.00 ); $funcao[1] = array(cod_aluno => 1498, cod_trimestre => 1, cod_disc => 430, aluno => 'MIKAEL', cod_turma => 66, turma => '1º V02', disciplina => 'Quimica', nota => 3.00 ); $funcao[2] = array(cod_aluno => 1498, cod_trimestre => 1, cod_disc => 430, aluno => 'MIKAEL', cod_turma => 66, turma => '1º V02', disciplina => 'Filosofia', nota => 5.00 ); echo ' <table class="table table-striped table-bordered table-hover"> <thead> <tr> <th> Aluno </th> <th> Disciplina </th> <th> Trimestre 1 </th> <th> Trimestre 2 </th> <th> Trimestre 3 </th> </tr> </thead> <tbody>'; echo '<tr> <td rowspan="3" style="text-align:left;font-size:120%;color:black;font-weight:bold;width:20%;" > '.$funcao[0]['aluno'].' </td> <td> '.$funcao[0]['disciplina'].' </td> <td> '.$funcao[0]['nota'].' </td> <td> '.$funcao[0]['nota'].' </td> <td> '.$funcao[0]['nota'].' </td> </tr>'; for($i = 1; $i <= count($funcao) - 1; $i++){ echo '<tr> <td> '.$funcao[$i]['disciplina'].' </td> <td> '.$funcao[$i]['nota'].' </td> <td> '.$funcao[$i]['nota'].' </td> <td> '.$funcao[$i]['nota'].' </td> </tr>'; } echo '</tbody> </table>';
-
ficou show de bola muito obrigado pela ajuda só mais uma pergunta para mostrar as matérias em uma combobox e eu clicar na matéria especifica e ao lado estiver um edit para eu colocar o nome da sub matéria e cadastra-la é praticamente o mesmo processo né?
Boa tarde ,
Depende. Pelo efeito que você escolheu para mostrar as matérias e submatérias nessa pagina , eu particularmente não colocaria um botão para editar nela , pois é uma pagina para exibição de seu conteúdo e não para edição de dados
Eu faria uma outra pagina , dessa vez mostrando os dados em uma tabela . Listaria todas as matérias cadastrada no banco e colocaria 3 botões :
1 -> ver dados
2 -> Editar ( trocar o nome no caso )
3 -> Excluir.
ID Nome Ação.
1 Matemática Ver dados Editar Excluir
Ao clicar em editar , passaria o ID da matéria na URL , e abriria uma outra pagina , exibindo as submatérias pertencentes a mesma e um botão para cadastrar uma nova submatéria para ela.
Caso voce tenha sub materia de submateria ( que estranho falando assim hehe ) Ex:
Materia : Matematica
Sub_1 : Matrizes ( Submatéria de Matematica )
Sub_2 : Determinantes ( Submatéria de Matrizes )
Você faria a mesma coisa , listaria as submatérias , (id , nome , ação )
1 -> ver dados
2 -> Editar ( trocar o nome , conteúdo ,descrição , etc )
3 -> Excluir.
E assim por diante.
Caso você opte em fazer nessa pagina que ajudei ( com o efeito de menu dropdown ) , seguiria a mesma lógica .
Qualquer coisa posta ai .
Se ajudei , marque como resolvido . Vlw
-
SHOW DE BOLA você está me ajudando muito vlw :D mas tipo como eu estou tentando fazer é tipo a foto que eu anexei estou tentando para aparecer logo abaixo as sub_matérias. muito obrigado pela atenção ai cara.
http://www.jqueryscript.net/menu/Super-Smooth-Accordion-Dropdown-Menu-with-jQuery-CSS3.html
Boa noite ,
Sem problemas , estamos aqui para ajudar .
Não testei em um banco de dados , mas ve se isso resolve seu problema.
pagina_lista_materias.php
<html> <head> <meta charset="utf-8"> <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0" /> <title>Minha Pagina de materias</title> <link href="http://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> </head> <body> <div class="jquery-script-ads" align="center" style="margin:20px auto"><script type="text/javascript"><!-- google_ad_client = "ca-pub-2783044520727903"; /* jQuery_demo */ google_ad_slot = "2780937993"; google_ad_width = 728; google_ad_height = 90; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> <!-- Contenedor --> <ul id="accordion" class="accordion"> <?php include 'conexao.php'; $query_sql = mysql_query ("SELECT * FROM materias"); while($linha = mysql_fetch_array($query_sql)){ $id = $linha['id_materia']; echo ' <li> <div class="link"><i class="fa fa-database"></i>'.$linha['titulo_materia'].'<i class="fa fa-chevron-down"></i></div> <ul class="submenu">'; $query_sql_2 = mysql_query ("SELECT * FROM sub_materia where id_materia = '$id' "); while($linha_2 = mysql_fetch_array($query_sql_2)){ echo '<li><a href="#">'.$linha_2['nome_sub'].'</a></li>'; } echo '</ul> </li>'; } ?> </ul> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script> $(function() { var Accordion = function(el, multiple) { this.el = el || {}; this.multiple = multiple || false; // Variables privadas var links = this.el.find('.link'); // Evento links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown) } Accordion.prototype.dropdown = function(e) { var $el = e.data.el; $this = $(this), $next = $this.next(); $next.slideToggle(); $this.parent().toggleClass('open'); if (!e.data.multiple) { $el.find('.submenu').not($next).slideUp().parent().removeClass('open'); }; } var accordion = new Accordion($('#accordion'), false); }); </script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-36251023-1']); _gaq.push(['_setDomainName', 'jqueryscript.net']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </body> </html>
CSS :
* { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } /* body { background: #2d2c41; font-family: 'Open Sans', Arial, Helvetica, Sans-serif, Verdana, Tahoma; } */ ul { list-style-type: none; } /* a { color: #b63b4d; text-decoration: none; } /** ======================= * Contenedor Principal ===========================*/ h1 { color: #FFF; font-size: 24px; font-weight: 400; text-align: center; margin-top: 80px; } h1 a { color: #c12c42; font-size: 16px; } */ .accordion { width: 100%; max-width: 360px; margin: 30px auto 20px; background: #FFF; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .accordion .link { cursor: pointer; display: block; padding: 15px 15px 15px 42px; color: #4D4D4D; font-size: 14px; font-weight: 700; border-bottom: 1px solid #CCC; position: relative; -webkit-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease; } .accordion li:last-child .link { border-bottom: 0; } .accordion li i { position: absolute; top: 16px; left: 12px; font-size: 18px; color: #595959; -webkit-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease; } .accordion li i.fa-chevron-down { right: 12px; left: auto; font-size: 16px; } .accordion li.open .link { color: #b63b4d; } .accordion li.open i { color: #b63b4d; } .accordion li.open i.fa-chevron-down { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } /** * Submenu -----------------------------*/ .submenu { display: none; background: #444359; font-size: 14px; } .submenu li { border-bottom: 1px solid #4b4a5e; } .submenu a { display: block; text-decoration: none; color: #d9d9d9; padding: 12px; padding-left: 42px; -webkit-transition: all 0.25s ease; -o-transition: all 0.25s ease; transition: all 0.25s ease; } .submenu a:hover { background: #b63b4d; color: #FFF; }
Altere o nome dos bancos e das variaveis de acordo com o seus dados.
Posta aqui se deu certo .
Ps.: Comentei um pedaço do CSS , pois tem classes ( h1 , a ) que caso voce chame o script na index , iria afetar seu conteudo definido nessas classes.
-
Olá!
O método de envio do seu formulário é post! method="post"
Logo, não se pode receber via $_GET, os dados vão chegar via post, use o array de servidor: $_POST
Boa tarde ,como o Lowys disse, o seu formulario usa o metodo POST e não GET .
Pelo que vi , voce passa o ID no href para realizar o update certo ?
É mais facil criar um campo do tipo hidden com o valor do ID , assim , voce recebe ele via POST normal.
Aqui , voce cria o campo do tipo HIDDEN , recebendo o valor da variavel $id.
<input type=\"hidden\" style=\"border:1px solid red; font-weight:bold;\" value=\"$id\" name=\"id\"/></input><br><br>
Na pagina que voce recebe os dados , é só trocar o $id = $_GET["id"]; por $id = $_POST["id"];
não esquece de tirar o HREF do botao de submit.
Qualquer coisa , posta ai .
-
Bom dia ,
Ótimo !
Eu não aconselho o uso de tabelas nessa caso para listar o conteúdo.
Eu colocaria as matérias principais em div'`s , e quando o usuario clicar , abriria outra pagina para a submatéria correspondente.
Ex:
Css.
.box{ border: 1px solid red; width: 33%; float: left; box-sizing: border-box; margin-bottom: 15px; } .titulo{ background: gray; color: #fff; text-align: center; } .texto{ padding: 10px; } @media screen and (max-width: 850px) { .box { width: 50%; } } @media screen and (max-width: 480px) { .box { width: 100%; } }
<?php include 'conexao.php'; $query_sql = mysql_query ("SELECT * FROM materias"); while($linha = mysql_fetch_array(query)){ echo '<div class="box"> <div class="titulo">'.$linha['materias_n'].'</div> <div class="texto"> Aqui , caso nao tenha , adcione um campo de descriçao para a metéria , caso deseje. '.$linha['materias_desc'].' <a href="minha_pagina_de_submateria.php?id_materia='.$linha['id'].'">Ver materias</a> </div> </div>'; } ?>
E na pagina '
minha_pagina_de_submateria.php' voce pega via get o ID da materia :
<?php include 'conexao.php'; $id_materia = $_GET['id_materia']; $query_sql = mysql_query ("SELECT * FROM submateria where id_materia = $id_materia"); while($linha = mysql_fetch_array(query)){ echo '<div class="box"> <div class="titulo">'.$linha['sub_materias_n'].'</div> <div class="texto"> Aqui , caso nao tenha , adcione um campo de descriçao para a metéria , caso deseje. '.$linha['sub_materias_desc'].' <a href="minha_pagina_de_submateria_2.php?id_submateria='.$linha['id'].'">Ver materias</a> </div> </div>'; } ?>
E assim por diante , voce pode ir definindo o id principal no <a href> e criando paginas pra pegar o id e exibir o que voce quer.
Segue exemplo de como é para ficar :
http://jsfiddle.net/h_felix/vog5eqmo/
Ps: As divs estao responsivas, se adaptando as resoluçoes menores sem quebrar o conteudo .
Testa ai e posta se deu certo
-
Como esta suas tabelas ? já estão feitas ?
Como esta seu código php ?
Poste aqui para termos uma noção do que você já tem feito
-
Bom dia ,
Você fez quase tudo certo amigo , mas repare nesse trecho
<tr> <td>Nome:</td> <td><input id="textnome" name="textnome" type="text" size="60"></td> </tr>
Voce coloca o NAME do campo como "textnome" e na hora de receber o valor via POST , pede o campo :
$nome= $_POST['txtnome'];
Um simples erro de digitação , é só trocar no html o "textnome" por "txtnome"
-
Bom dia ,
Nos campos HTML , voce não definiu o name deles :
Id co cliente <input type=\"text\" value=\"$ncid\" /></input><br><br> NOME DO CLIENTE<br> <input type=\"text\" value=\"$ncnome\" /></input><br><br>
assim , quando você recebe via POST os valores:
$id= $_POST['id'];
$ncid= $_POST['ncid'];as variaveis recebem um valor vazio .
No caso , teria que ficar assim :
Id co cliente <input type=\"text\" value=\"$ncid\" name="nome_campo_id"></input><br><br> NOME DO CLIENTE<br> <input type=\"text\" value=\"$ncnome\" name="nome_campo_nome"></input><br><br>
E na hora de receber :
$id = $_POST['nome_campo_id'];
$ncnome = $_POST['nome_campo_nome'];Espero que tenha ajudado .
Qualquer duvida , posta ae
-
Bom dia ,
Voce já tem as tabelas criadas ? Caso sim , poste a estrutura delas aqui .
Caso não , aconselho fazer 1 tabela para as Materias principais e 1 para as sub matérias :
tbl_materias_principais :
id nome data_criacao data_update ativa
1 Matematica 2015-09-16 0000-00-00 00:00:00 1
2 Portugues 2015-09-16 0000-00-00 00:00:00 1
tbl_materias_secundarias
id id_materias(aqui vai o id da materia principal) nome data_criacao data_update ativa
1 1 Matrizes 2015-09-16 0000-00-00 00:00:00 1
1 1 Logaritmo 2015-09-16 0000-00-00 00:00:00 1
etc etc etc
Depois que cadastrar as matérias , você faria uma pagina fazendo um select na tabela das materias principais
Select * from tbl_materias_principais where ativo = 1
Listaria as Matérias que voce tem cadastrado no banco .
Matematica Ver Editar Excluir
Portugues Ver Editar Excluir
Ao clicar em 'VER' , abriria uma outra pagina , que faria um select no banco na tabela de materias secundarias , passando o ID da materia principal como parametro.
Assim , voce faria a consulta : Select * from tbl_materias_secundarias where id_metaria = $id and ativo = 1
Acho que assim , já da para voce ter um norte de como fazer.
Qualquer coisa , comenta ai
-
Não é erro é que eu quero que apareça a imagem de perfil de quem postou aonde está <div class="post_img"><img src="paineldecontrole/imagens/perfil/p4Rw.jpg" /></div>
Eu quero saber como faço isso para fazer a imagem de perfil do administrador aparaça nas postagens.
Bom dia , me tira uma duvida , ali você pega a imagem do banco : <img src="paineldecontrole/imagens/postagem/<?php echo $res['imagem'] ?> . Aqui seria a foto da postagem ,certo ?
E aqui em cima você chama a imagem manualmente : <img src="paineldecontrole/imagens/perfil/p4Rw.jpg" /> . E aqui seria a foto do administrador , certo ?
Na tabela administrador , tem um campo imagem , por que você não chama ela que nem fez pra chamar a imagem da postagem ?
<div class="post_img">
<?$result = mysql_query('SELECT * FROM administradores');while($row = mysql_fetch_array($result)){echo "<img src='paineldecontrole/imagens/perfil/".$row['imagem']." '>"}?></div> -
Boa tarde ,
Ao meu ver esta tudo certo , que erro que apresenta ?
-
alguém poderia ajudar de como fazer ?
-
Bom dia pessoal ,
Estou montando uma sistema WEB ,que fará comparação de produtos, mas estou empacado numa parte .Até agora , fiz o seguinte :
2 tabelas : 1 com a categoria dos produtos e 1 com os produtos .
Ao selecionar 1 item nos combo box , o valor das sublist alteram, abaixo tera um botão que pegara o Id de cada sublist , e mostrara os dados do produto relacionado a cada Id selecionado.
ComboBox > Sublist > botão > pega_id_sublist > exibi_dados .
Resumindo :
ComboBox 01 ComboBox 02
SubList Sublist 2 //o conteudo das sublists altera de acordo com o que foi selecionado no comboBox
<btn>Comparar </btn>
Até agora , fiz os comboBox/sublist , mas não estou conseguindo enviar o valor deles e exibir os dados correspondente a eles.
Segue o codigo :
https://www.dropbox.com/sh/7eupvel35rli2qg/AADJBHRFFprKS1lQNJ06ZcKca?dl=0
alguém pode me ajudar ?
Desde já , grato -
Boa noite galera ,
um amigo meu passou um código que ele usava , para faze
r lista uma e sublista , uma depedente da outra.
Mas , tentei colocar no meu projeto , mas não funciona , a 2ª lista não altera os valores conforme o que foi selecionado na 1ª lista.
Segue o codigo que ele me passou (ps.:não alterei nada , só o nome do server , user e senha , tabelas coloquei o mesmo nome que ele passou )
produto.php
<link rel="stylesheet" type="text/css" media="screen" href="../lib/css/estilo.css"/><div id="content"><head><script type="text/javascript" src="jquery-1.3.2.min.js"></script><script type="text/javascript">$(document).ready(function(){$("select[name=tv_assinatura]").change(function(){var empresa_tv = $(this).val();//alert(empresa_tv);$.getJSON('../functions/function.inc.php',{empresa_tv: empresa_tv},function(data){//alert(data);var option = new Array();resetaCombo('pacotes');$.each(data, function(i, obj){option = document.createElement('option');$( option ).attr( {value : obj.id} );$( option ).append( obj.nome );$("select[name=pacotes]").append( option );});});});});function resetaCombo( el ){$("select[name="+el+"]").empty();var option = document.createElement('option');$( option ).attr( {value : '0'} );$( option ).append( 'Escolha' );$("select[name="+el+"]").append( option );}</script></head><form action="" method="post"><fieldset><label><select name="tv_assinatura"><option value="0">Tv por assinatura</option><?php$sql_tv=mysql_query("SELECT * FROM tv_assinatura");while ($dados = mysql_fetch_array($sql_tv)) {echo("<option value='1'>".$dados['nome_tv']."</option>");}?></select></label><label><select name="pacotes"><option value="0">Escolha um Pacote</option></select></label></fieldset></form></div>function.inc.php<?phpheader("Content-Type: text/html; charset=ISO-8859-1");function intGet( $campo ){return isset( $_GET[$campo] ) ? (int)$_GET[$campo] : 0;}function retorno( $nome_tv ){$sql = "SELECT `id`, `nome_pacote`FROM `pacotes`WHERE `empresa_tv` = {$nome_tv} ";$sql .= "ORDER BY `nome_pacote` ";$mysqli = new mysqli("server", "user", "key", "DB");//$con = mysql_connect("server", "user", "key", "DB");//mysql_select_db( 'ajax', $con );$q = $mysqli->query( $sql );//$q = mysql_query( $sql );$json = ' [';if( $q->num_rows > 0 )//if( mysql_num_rows( $q ) > 0 ){while( $dados = $q->fetch_object() )//while( $dados = mysql_fetch_assoc( $q ) ){$json .= '{"nome_pacote'.$campo.'":"'.$dados->nome_pacote.'","id'.$campo.'":"'.$dados->id.'"}, ';//$json .= '{"nome_pacote'.$campo.'":"'.$dados['nome_pacote'].'","id'.$campo.'":"'.$dados['id'].'"}, ';}}else$json .= '{"nome_pacote'.$campo.'": "Não Encontrado"}';$json .= ']';return $json;}echo retorno( intGet('empresa_tv') );?>SQL
Create Database planos ;use planos;CREATE TABLE IF NOT EXISTS `pacotes` (`id` int(11) NOT NULL AUTO_INCREMENT,`nome_pacote` varchar(25) COLLATE utf8_unicode_ci NOT NULL,`empresa_tv` varchar(15) COLLATE utf8_unicode_ci NOT NULL,`total_canais` int(11) NOT NULL,`canais_sd` int(11) NOT NULL,`canais_hd` int(11) NOT NULL,`equip_01` varchar(30) COLLATE utf8_unicode_ci NOT NULL,`equip_02` varchar(30) COLLATE utf8_unicode_ci NOT NULL,`equip_03` varchar(30) COLLATE utf8_unicode_ci NOT NULL,`preço` decimal(5,2) NOT NULL,`servico_01` varchar(30) COLLATE utf8_unicode_ci NOT NULL,`servico_02` varchar(30) COLLATE utf8_unicode_ci NOT NULL,`foto` varchar(50) CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;CREATE TABLE IF NOT EXISTS `tv_assinatura` (`id` int(11) NOT NULL AUTO_INCREMENT,`nome_tv` varchar(15) COLLATE utf8_unicode_ci NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `nome_tv` (`nome_tv`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;alguém poderia ajudar a mostrar onde esta o erro e a resolve-lo ?Assim , começo a montar uma pra mim baseada nela.Desde já , grato
Receber Campos dinâmicos do Formulário em PHP e inserir no BD MYSQL
em PHP
Postado
Boa tarde amigo , joga em um array o resultado . Coloca o name do campo assim: name="nome_campo_do_seu_campo[]".
Quando você der o submit , se tiver mais de um elemento , voce os recupera como um array. Para ver os valores , você faz : print_r($_POST['nome_do_seu_campo']; , então listará todos os valores armazenados.
Para inserir no banco , depende de como voce quer inserir , todos os valores serao inseridos em um unico campo de uma tabela ? Ou serao inseridos separadamente em varias linhas de uma outra tabela?