1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Consultas a Base de Dados nos List Menus (PHP + MySQL)

Discussão em 'Web Development' iniciada por khaluh, 5 de Junho de 2007. (Respostas: 4; Visualizações: 3938)

  1. khaluh

    khaluh Power Member

    Viva

    Estou a fazer um site para ser usado apenas a nível interno (o termo site aqui é um pouco relativo) e então, pretendo ter list menus para ir buscar informação, só que nao sei como o fazer.

    Ou seja ( e exemplificando):

    * tenho um formulário de inserção (ou de consulta, o procedimento será o mesmo, penso eu), onde os campos a inserir são:

    1) itemtipo (onde o itemtipo é um campo a ser consultado na tabela tipo item e pretendo que apareça no list menu os tipos de item constantes na referida tabela)

    2) local (onde o local é um campo a ser consultado na tabela local e pretendo que apareça no list menu os locais constantes na referida tabela)

    3) forn (onde o forn é um campo a ser consultado na tabela fornecedores e pretendo que apareça no list menu os forrnecedores constantes na referida tabela)
     
  2. khaluh

    khaluh Power Member

    Viva

    Então, fiz uma pergunta demasiado básica ou impossível de fazer como eu quero?

    Eu posso inserir à unha, só que deixa de ser muito dinâmica, já que posso a qualquer altura inserir ou retirar elementos que pretendo que apareçam nos list menu e com as consultas estaria sempre actualizado
     
  3. p3dro

    p3dro Power Member

    list menus são dropdowns? se sim, vê se este exemplo te ajuda ...

    PHP:
    //fazer ligação à bd

    $sql=mysql_query("select id_fornecedor, nome_fornecedor from dados_fornecedores");
    while(
    $myrow=mysql_fetch_array($sql)){
      
    $str.="<option value='$myrow[id_fornecedor]'>$myrow[nome_fornecedor]</option>";
    }

    $str="<select name='id_fornecedor'>$str</select>";

    echo 
    $str;
     
  4. khaluh

    khaluh Power Member

    Viva

    P3dro, muito obrigado.

    Era mesmo isto, assim ficou muito mais dinâmico.

    Mas agora, com a solução surgiu-me outro problema.

    Quero combinar isto:

    Código:
        <tr>
             <td width="150">Fornecedor:</td>
             <td width="250"><input name="fornecedor" type="text" 
                                id="fornecedor" size="50"  maxlength="100" /></td>
      </tr>
    
    Com isto:

    Código:
    
    while($myrow=mysql_fetch_array($sql))
            {
                  $str.="<option value='$myrow[fr_id_forn]'>$myrow[fr_nome]</option>";
            }
    
            $str="<select name='fr_id_forn'>$str</select>";
    
        echo $str;
    
    
    Que quando for tratado pelo form action faça o que?
    Que grave o valor do dropmenu na tabela fornecedores e as alterações efectuadas aos campos relativos ao fornecedor.

    Código:
    
            $nome = $_POST['nome'];
            $servico = $_POST['servico'];
            $morada = $_POST['morada'];
            $email = $_POST['email'];
            $tel = $_POST['tel'];
            $observacoes= $_POST['observacoes'];
            echo "<br>";
            
            $sql =     "
                    UPDATE fornecedores 
                    SET 
                        fr_nome = '$nome', 
                        fr_servico = '$servico',
                        fr_morada = '$morada', 
                        fr_cont_email = '$email',
                        fr_cont_tel = $tel;
                        fr_observacoes = '$observacoes';
                    WHERE id = $id
                    ";
    
            $resultado = mysql_query($sql) or 
             die ("Erro ao actualizar dados do fornecedor.");
    
    
    Pretendo que o que é colocado em $nome seja a selecção do dropmenu
     
  5. p3dro

    p3dro Power Member


    não sei se percebi bem a tua dúvida, pretendes k qdo estiveres a editar um registo a dropdown apareça automaticamente com o nome selecionado anteriormente?

    será isto?

    PHP:
    while($myrow=mysql_fetch_array($sql)){
      
    $selected=($nome==$myrow["fr_nome"])?"selected":""//verificar se coincide
      
    $str.="<option value='$myrow[fr_id_forn]$selected>$myrow[fr_nome]</option>";
    }

    $str="<select name='fr_id_forn'>$str</select>";

    echo 
    $str;
     

Partilhar esta Página