Ir para conteúdo

Arquivado

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

Kaelson

Deletar e alterar campos select HTML + MYSQL + PHP

Recommended Posts

Bom dia. Preciso criar uma caixa de select que busque os resultados do bando de dados de somente 1 campo.

 

Criei um banco de dados com os seguintes campos:

 

id_url = Int, 05, Auto Increment, Chave Primária

url = VARCHAR 50

palavrachave = VARCHAR 50

 

nome do banco: tb_mural

 

dados da conexão: servidor: mysql.meu servidor usuario: portalfama15 senha: 56784

 

OBS: Estou utilizando os dados CONEXÃO acima de exemplo para facilitar meu entendimento no caso de uma possível ajuda.

 

 

Já consegui criar 2 campo para inserir no banco de dados. Isso está beleza.

 

Agora o que preciso é fazer aparecer em 2 selects para os campos url e palavra chave em um formulário HTML.

 

Preciso que ao selecionar o campo url e palavra chave apareca no formulário também = Alterar ou remover a linha que eu seleciono.

 

Vou colocar abaixo os selects na página HTML para ver se consigo ajuda.

 

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
 
<p> </p>
<p><font face="Arial Narrow">
  <select name="select">
    <option></option>
  </select>
</font></p>
<p><font face="Arial Narrow">
  <select name="select2">
    <option></option>
  </select>
</font></p>
<p> </p>
</body>
</html>
 

Aguardo uma possível ajuda. Muito Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, não deu para entender bem.

 

Os combos dependem um do outro ? ou não ?

 

Oque exatamente vc não sabe fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim em uma tabela (tb_mural) tenho 3 colunas sendo:

"id_url" (int, 05, auto increment, primary)
"url" (varchar 50) e
"palavrachave" .


O cadastro vai ser feito das da url + palavrachave.
Vai ser um casamento das duas colunas.
Carregou a linha de um carrega do outro. Já tem um formulário separado que faço cadastro a url + palavra chave no banco de dados, esse é só para selecionar, pegar as opções e enviar pelo formulário. Não sei se deu para entender o que preciso agora.

Como se fosse algo assim a coluna "url" seria a categoria e a coluna "palavra chave" seria subcategoria e o que selecionar no formulário vou pegar essas variáveis e enviar para os servidor as páginas montadas.

Obrigado pela ajuda meu amigo :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo de combos dependentes com jQuery:

 

http://wbruno.com.br/2009/10/06/combos-dependentes-ajax-jquery/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta meu amigo. Tentei fazer vários tutoriais como esse que você passou e não consegui. A minha dificuldade nesses tutoriais é alterar onde deve alterar. Poderia ver se estou correto por favor: Na página index. php preencher a linha:

 

<form action="" method="post"> /* somente isso e na página abaixo function.inc.php seria? */

 

Comentei o código abaixo. Obrigado William.

 

 

 
<?php  
    header("Content-Type: text/html; charset=ISO-8859-1");  
  
    function intGet( $campo ){  
        return isset( $_GET[$campo] ) ? (int)$_GET[$campo] : 0;  
    }     
    function retorno( $id )  
    {  
        $sql = "SELECT `id`, `nome`  [b]/* mudo aqui para minhas colunas? */[/b]
            FROM `combo2`  
            WHERE `idCombo1` = {$id} ";[b] /* aqui mudo para a coluna do id? */ [/b]
        $sql .= "ORDER BY `nome` ";  
          
          
[b]/* PELO QUE ENTENDI SÓ DEVO MUDAR ISSO? E OS DADOS DO BANCO ABAIXO CERTO? */       [/b]
 
       
 
       $mysqli = new mysqli("localhost", "root", "123", "wbruno");  
  
          
        $q = $mysqli->query( $sql );   
          
          
        $json = Array();  
        if( $q->num_rows > 0 )  
        {  
            while( $dados = $q->fetch_object() )  
            {  
                $json[] = Array('nome'=> utf8_encode( $dados->nome ), 'id'=> $dados->id);  
            }  
        }  
        else  
            $json[] = Array('nome'=> utf8_encode( 'nao encontrado' ), 'id'=> '0' );  
              
  
          
        return json_encode( $json );  
    }  
      
    echo retorno( intGet('idCombo1') );

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, vc entendeu certo.

 

Qual a dúvida ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai ? oque acontece ? deu erro ? qual ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos do básico. Cadê o teu jQuery ?

 

http://www.buffetfama.com.br/goldkael/gold/jquery-1.3.2.min.js

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei dentro da TAG Head o código. Não era para fazer dessa forma?

 

Seria esse código abaixo que você se refere:

 

 

 <script type="text/javascript" src="jquery-1.3.2.min.js"></script>  
    <script type="text/javascript">  
    $(document).ready(function(){//inicio o jQuery  
        $("select[name='combo1']").change(function(){  
        var idCombo1 = $(this).val();//pegando o value do option selecionado  
        //alert(idCombo1);//apenas para debugar a variável  
          
            $.getJSON(//esse método do jQuery, só envia GET  
                'combos-dependentes-function.inc.php',//script server-side que deverá retornar um objeto jSON  
                {idCombo1: idCombo1},//enviando a variável  
  
                function(data){  
                //alert(data);//apenas para debugar a variável  
                      
                    var option = new Array();//resetando a variável  
                      
                    resetaCombo('combo2');//resetando o combo  
                    $.each(data, function(i, obj){  
                          
                          
                        option[i] = document.createElement('option');//criando o option  
                        $( option[i] ).attr( {value : obj.id} );//colocando o value no option  
                        $( option[i] ).append( obj.nome );//colocando o 'label'  
  
                        $("select[name='combo2']").append( option[i] );//jogando um à um os options no próximo combo  
                });  
            });  
        });  
    });   
      
    /* função pronta para ser reaproveitada, caso queria adicionar mais combos dependentes */  
    function resetaCombo( el )  
    {  
        $("select[name='"+el+"']").empty();//retira os elementos antigos  
        var option = document.createElement('option');                    
        $( option ).attr( {value : '0'} );  
        $( option ).append( 'Escolha' );  
        $("select[name='"+el+"']").append( option );  
    }  
    </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou vc puxar para o teu servidor o jQuery:

 

http://jquery.com/download/

 

 

Vc não sabe oque é jQuery ne?!

 

 

 

 

Bom, troque:

 <script type="text/javascript" src="jquery-1.3.2.min.js"></script>  

por:

 <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.min.js"></script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma das duas coisas, ou vc baixa e coloca no teu servidor, ou vc usa direto do servidor deles.

 

O que eu mandei vc fazer, faz com que vc use direto deles.

 

 

 

 

Agora está faltando vc hospedar o arquivo php no caminho correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora está faltando vc hospedar o arquivo .php

 

Tá dando 404 onde ele devia estar:

http://www.buffetfama.com.br/goldkael/gold/combos-dependentes-function.inc.php

 

entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, mas então tá com o nome errado.

 

O nome do arquivo .php deveria ser:

combos-dependentes-function.inc.php e ele não está lá.

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.