Ir para conteúdo
Fórum Script Brasil

h_felix

Membros
  • Total de itens

    18
  • Registro em

  • Última visita

Sobre h_felix

Últimos Visitantes

913 visualizações

h_felix's Achievements

0

Reputação

  1. 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?
  2. h_felix

    SQL QUERY

    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 .
  3. 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">&times;</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
  4. 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.
  5. h_felix

    loop em array multimensional

    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>';
  6. 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
  7. 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.
  8. h_felix

    Erro Update SQL

    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 .
  9. 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
  10. 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
  11. 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"
  12. h_felix

    Erro Update SQL

    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
  13. 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
  14. 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>
  15. Boa tarde , Ao meu ver esta tudo certo , que erro que apresenta ?
×
×
  • Criar Novo...