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

listar e editar registos [php]

Discussão em 'Web Development' iniciada por fockerpinto, 28 de Junho de 2012. (Respostas: 10; Visualizações: 1467)

  1. Boas pessoal
    É o seguinte, estou com 2 grandes duvidas, e gostaria que me ajudasses.
    Numa ficha tenho a página de cliente, mas só imprime a ultima que foi inserida na bd, eu queria que aparecesse a ficha do cliente da conta ativa.
    Como proceder para chegar a essa conclusão ?
    Colaborem!
    Cumprimentos e obrigado pela disposição de tempo.

    fockerpinto

    Código:
    <?php require_once('Connections/bd.php'); ?>
    <?php
    mysql_select_db($database_bd, $bd);
    $query_clientes = "SELECT * FROM utilizador";
    $clientes = mysql_query($query_clientes, $bd) or die(mysql_error());
    $row_clientes = mysql_fetch_assoc($clientes);
    $totalRows_clientes = mysql_num_rows($clientes);
    
    mysql_select_db($database_bd, $bd);
    if ($query_clientes = 'ID')
    {
    $query_clientes = ""SELECT id, utilizador, password, email, empresa, morada, localidade, codigopostal, telefone, fax, enderecoweb, datacriacaoficha FROM utilizador WHERE id= utilizador";
    $clientes = mysql_query($query_clientes, $bd) or die(mysql_error());
    $row_clientes = mysql_fetch_assoc($clientes);
    $totalRows_clientes = mysql_num_rows($clientes);
    }
    ?>
    <?php
        include "vlogin.php";
        require ("print.php");
    ?>
        <div id="content" align="center">
        
         <h2>Ficha de Cliente </h2>
         <p>&nbsp;</p>
         <p>&nbsp;</p>
         <form action="clienteeditaraposlogin.php" method="post" >
         <table width="568" height="353" border="0">
           <tr>
             <th width="146" height="30" align="right" scope="row"><p>Cliente</p></th>
             <td><p><?php echo $row_clientes['empresa']; ?></p></td>
           </tr>
           <tr>
             <th scope="row" align="right"><p>Data Criação Ficha</p></th>
             <td>
                 <p><?php echo $row_clientes['datacriacaoficha']; ?></td>
           </tr>
           <tr>
             <th scope="row" align="right"><p>Morada</p></th>
             <td>
              <p><?php echo $row_clientes['morada']; ?></td>
           </tr>
           <tr>
             <th scope="row" align="right"><p>Localidade</p></th>
             <td>
              <p><?php echo $row_clientes['localidade']; ?></td>
           </tr>
           <tr>
             <th height="41" align="right" scope="row"><p>Cód. Postal</p></th>
             <td>
              <p><?php echo $row_clientes['codigopostal']; ?></td>
           </tr>
           <tr>
             <th scope="row" align="right"><p>Telefone</p></th>
             <td><p><?php echo $row_clientes['telefone']; ?></td>
           </tr>
           <tr>
             <th scope="row" align="right"><p>Fax</p></th>
             <td>
              <p><?php echo $row_clientes['fax']; ?></td>
           </tr>
           <tr>
             <th scope="row" align="right"><p>Endereço Web</p></th>
             <td>
              <p><?php echo $row_clientes['enderecoweb']; ?></td>
           </tr>
    <tr>
            <th height="20" colspan="2" align="center" scope="row"><p>
             <a href="clienteeditaraposlogin.php?empresa=<?php echo $row_clientes['empresa']; ?>"><a href="clienteeditaraposlogin.php">Editar</a></p>         
             </th>
           </tr>
         </table>
         </form>
    <?php
    mysql_free_result($clientes);
    ?>
    
     
    Última edição: 28 de Junho de 2012
  2. rrcn

    rrcn Power Member

    Na clausula WHERE

    WHERE id= utilizador

    estás a comparar o campo id com o campo utilizador. Tens de comparar id com um valor.
    E não sei o que está a fazer o primeiro query que tens.

    if ($query_clientes = 'ID') dá sempre verdadeiro e acho que não faz sentido.
     
  3. bem pessoa arranjei uma maneira estupida digasse de passagem para apresentar os campos da base de dados da conta activa na pagina.
    depois na página cliente tenho isto
    é o que mostra os dados da conta activa na página cliente
    mas agora como posso fazer para editar esses campos que aparecem na pagina do cliente e guardar por cima dos existentes na base de dados ?
     
    Última edição: 29 de Junho de 2012
  4. O teu codigo em sí está bem, mas na minha opnião está complicadissimo, abres e fechas muita ves a tag <?php, e não precisas de o fazer...
    Mas indo directamente ao assunto a tratar, o que tu quers é alterar os dados neste caso desse "utilizador" é muito facil fazer, com um UPDATE...
    Codigo:
    $variavel = "UPDATE `nome da base de dados`.`nome da tabela` SET `campo a alterar`='valor a alterar' WHERE (`campo dos ID's`='ID do user a alterar')");
    mysql_query($variavel);


    No mesmo acompanhamento podes tambem excluir dados ou registos e ate tabelas.
    Tudo é possivel.
     
  5. poderia me dar um exemplo parecido com o meu código para perceber melhor ?
    eu com esse codigo que me deu, não sei onde meter .
     
  6. ftav

    ftav Power Member

    Para alterar os dados, basta criar um novo formulário com os campos editáveis e colocar a instrução que o ozzysnake referiu. Pode ser criado a partir do que mostra os dados de cada cliente e, de seguida, permitir a edição/atualização dos novos dados. Se calhar o melhor é criar um menu com as várias opções (ver, criar, apagar, alterar...) para ser mais fácil para quem usa.
     
  7. os seguintes erros que me davam eram estes:

    Código:
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 6
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 7
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 8
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 9
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 10
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 11
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 12
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 13
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 14
    
    Notice: Undefined variable: row in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 15
    
    Notice: Undefined variable: ID in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 20
    
    Notice: Undefined variable: localidade in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 24
    
    Notice: Undefined variable: enderecoweb in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 28
    
    Notice: Undefined variable: ID in C:\xampp\htdocs\mecapor\atualizarcliente.php on line 30


    o trabalho encontra-se aqui disponivel.
    http://www.mediafire.com/?ryncfl786u9x33x

    obrigada pela ajuda.
    cumprimentos
     
    Última edição: 5 de Julho de 2012
  8. ftav

    ftav Power Member

    Esse link está vazio...não tem lá os ficheiros.
     
  9. desculpa, mas consegui resolver esse erro.
    agora sempre que actualizo o cliente, tenho de sair da conta ativa e voltar a entrar para ver os novos dados, sera que não dá para ver isso na hora ?
    caso seja preciso mexer em algum ficheiro para fazer essa alteração de dados, encontra-se no clienteeditaraposlogin.php
    fica aqui o novo link:http://www.mediafire.com/?ryncfl786u9x33x
     
  10. ftav

    ftav Power Member

    Dar, dá. Agora era preciso 2 coisas: ver como está feita a base de dados e o ficheiro "atualizarcliente.php", que não vem no pacote de ficheiros do Mediafire, para poder comparar com o que é feito no ficheiro clienteeditaraposlogin.php.
     
  11. barricas

    barricas Power Member

    Não dá para ver na hora porque guardaste os dados numa session, tens que repor por valores da session.
    Ou então era melhor quando fosse feito login, guardares numa session apenas o ID do user. depois fazias a query onde mostra a ficha:
    PHP:
    $query_clientes "SELECT `id`,`utilizador,`password`,`email`,`empresa`,`morada`,`localidade`,`codigopostal,`telefone`,`fax`,`enderecoweb`,`datacriacaoficha` FROM `utilizador` WHERE `id`='{$_SESSION['id']}'";
    $row_clientes mysql_fetch_assoc($query_clientes);
    //resto do codigo

    O facto the te dar erro de undefined variable era talvez porque tavas a fazer fetch_assoc de:
    PHP:
    $query_clientes "SELECT * FROM utilizador";
    de qualquer maneira penso que mesmo assim ira fazer apenas ao primeiro resultado(?, não tenho a certeza)
     

Partilhar esta Página