Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) $variavel


n0visk

Pergunta

Olá pessoal, já tinha começado a mecher com php e mysql faz um tempo, só que acabei parando e estou voltando agora.

Minha duvida e a seguinte:

Eu tenho uma pagina que tenho 10 clientes cadastrados, e quando eu clicar em 1 deles, quero ver detalhes do seu cadastro.

fiz da seguinte maneira, cada um tem lá um link para uma pagina "individual.php", ai nessa pagina eu coloco para buscar no banco de dados as informacoes do cliente com a $id que eu cliquei.

mais ai esta a duvida. como vou pegar o numero do $id do cliente que eu cliquei para ver as especificaçoes de seu respectivo?

eu tenho a pagina tudo certinha, só falta mesmo saber identificar o numero do ID do cliente que eu quero abrir. o problema é eu não conseguir passar o ID do cliente para a outra pagina que vai abrir contendo os dados do cliente.

isso tem q fazer por cookies ou sesions? ou sei lá como.. hehehe...

qm puder ajudar eu agradeço.

se não entenderam meu problema eu tento explicar melhor ou posto meu codigo ai.

vlw galera,

abraço

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

ESerra obrigado pela ajuda.

eu tentei fazer da uma maneira aqui, mais n deu muito certo, deu um erro: syntax error, unexpected T_FOR, expecting T_CASE or T_DEFAULT or '}'

vou postar meu codigo

if( isset($_GET['id']) ){
      switch( $_GET['id']){
        for($i=1;$i<=$rows;$i++){
          case $i:
            $id=$i;
            include "individual.php";
            break;
        }
        /*case 1:
             $id=1;
             include "individual.php";
             break;
        case 2:
             $id=2;
             include "individual.php";
             break;
        case 3:
             $id=3;
             include "individual.php";
             break;
        case 4:
             $id=4;
             include "individual.php";
             break;
        case 5:
             $id=5;
             include "individual.php";
             break;
        case 6:
             $id=6;
             include "individual.php";
             break;
        case 7:
             $id=7;
             include "individual.php";
             break;*/

      }
    }
esse codigo é para listar todos os clientes.
for($i=0;$i<$rows;$i++){
      $id = mysql_result($res,$i,"id");
      $nome = mysql_result($res,$i,"nome");
      if($nome == null ) $nome = "-";
      $nome_empresa = mysql_result($res,$i,"nome_empresa");
      if($nome_empresa == null ) $nome_empresa = "-";
      $site = mysql_result($res,$i,"site");
      if($site == null ) $site = "-";
      $email = mysql_result($res,$i,"email");
      if($email == null ) $email = "-";
      $data_pedido = mysql_result($res,$i,"data_pedido");
      if($data_pedido == null ) $data_pedido = "-";
      $obs = mysql_result($res,$i,"obs");
      if($obs == null ) $obs = "-";
      echo "<tr><td>$id</td><td><a href=\"vercliente.php?id=$id\">$nome</a></td><td>$nome_empresa</td><td>$site</td><td>$email</td><td>$data_pedido</td><td width=\"200px\" height=\"auto\">$obs</td></tr>";
    }

eu cheguei ateh ai, mais n consigo usar o for dentro do switch. se eu n posso fazer isso, como vou usar o query string? vou ter q colocar 1 case para cada cliente novo cadastrado?

to meio perdido aqui, to meio perdido aqui.

agradeço desde já

abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo visto você não entendeu a lógica da coisa, deixa eu mastigar pra você.

Primeiro:

for($i=0;$i<$rows;$i++){
      $id = mysql_result($res,$i,"id");
      $nome = mysql_result($res,$i,"nome");
      if($nome == null ) $nome = "-";
      $nome_empresa = mysql_result($res,$i,"nome_empresa");
      if($nome_empresa == null ) $nome_empresa = "-";
      $site = mysql_result($res,$i,"site");
      if($site == null ) $site = "-";
      $email = mysql_result($res,$i,"email");
      if($email == null ) $email = "-";
      $data_pedido = mysql_result($res,$i,"data_pedido");
      if($data_pedido == null ) $data_pedido = "-";
      $obs = mysql_result($res,$i,"obs");
      if($obs == null ) $obs = "-";
      echo "<tr><td>$id</td><td><a href=\"vercliente.php?id=$id\">$nome</a></td><td>$nome_empresa</td><td>$site</td><td>$email</td><td>$data_pedido</td><td width=\"200px\" height=\"auto\">$obs</td></tr>";
    }
Quando você for listar vários dados vindos do BD utiliza WHILE:
//Note que $sql guarda a query feita no BD.
while($x = mysql_fetch_assoc($sql)){
/*
Aqui você vai resgata da seguinte forma, se a coluna se chama nome então você deve usar:
$x['nome']

Se a coluna se chama email então use:
$x['email']

etc...
Vou usar o operador ternário para em uma linha verificar se está vazio ou não e já atribuir o valor a variável
Mais informações sobre o operador ternário:
http://www.php.net/manual/pt_BR/language.operators.comparison.php
*/
      $id = $x['id'];
      $nome = (empty($x['nome']))?'-':$x['nome'];
      $email = (empty($x['email']))?'-':$x['email'];
      echo "<tr><td>$id</td><td><a href=\"vercliente.php?id=$id\">$nome</a></td><td>$nome_empresa</td><td>$site</td><td>$email</td><td>$data_pedido</td><td width=\"200px\" height=\"auto\">$obs</td></tr>";
    }
Segunda parte:
if( isset($_GET['id']) ){
      switch( $_GET['id']){
        for($i=1;$i<=$rows;$i++){
          case $i:
            $id=$i;
            include "individual.php";
            break;
        }
        /*case 1:
             $id=1;
             include "individual.php";
             break;
        case 2:
             $id=2;
             include "individual.php";
             break;
        case 3:
             $id=3;
             include "individual.php";
             break;
        case 4:
             $id=4;
             include "individual.php";
             break;
        case 5:
             $id=5;
             include "individual.php";
             break;
        case 6:
             $id=6;
             include "individual.php";
             break;
        case 7:
             $id=7;
             include "individual.php";
             break;*/

      }
    }
Pare durante 1/2 segundo pra pensar: Qual utilidade disso que você fez? Nenhuma, você resgata o valor do ID ai depois atribui o valor de novo... totalmente sem lógica. Na página vercliente.php basta você colocar:
$id = (isset($_GET['id']))?$_GET['id']:NULL;

Pronto ai você faz query baseado no $id.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, ESerra primeiramente gostaria de agradecer a sua ajuda e atençao.

Ali naquele "for" dentro do "switch", os CASE`s estao comentados, eu testei se conseguiria fazer atravez de um for, bom mais isso não vem ao caso.

eu andei estudando o que você postou para mim. e ainda tenho q estudar mais sobre isso hehe, fiquei ateh agora tentando resolver uns problemas q apareceram, pois parece q tem horas q o $id retorna um id, mais tem horas q parece q ele não retorna nada. e da ateh erro quando eu chamo o mysql_query("SELECT * FROM cliente WHERE id = $id",$conexao); . e quando dava esse erro eu ia conferir o valor dentro de $id, e não tinha nada nele. mais tem horas que ele funciona. enfim, to ficando loco já com isso, mais bola pra frente.

o problema agora é o seguinte, ficou assim meu codigo:

include ("todosclientes.php"); // aqui tem a primeira parte do codigo.
  $id = (isset($_GET['id']))?$_GET['id']:NULL; // pega o $id desejado.
  include ("individual.php"); // e aqui ele abre o cliente que eu cliquei no $id que eu desejava.

a duvida é, como eu faço para quando eu clicar em um cliente, ele pegar o ID e "apagar" a parte de todosclientes.php e só mostrar a parte individual.php? ele mostra a lista de todos os clientes e dpois embaixo mostra os detalhes do que escolhi, queria que mostresse só o cliente desejado.

desculpe a confusao ai, mais ainda to muito leigo nesse assunto.

Obrigado mais uma vez.

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, você ainda não entendeu a lógica.

Você não precisa ficar dando include de páginas!

Pelo que eu entendi do seu script a página 'todosclientes.php' é a que vai listar os usuários, então nela você vai ter os links, os links vão apontar para a página 'individual.php' e nessa página sim, você deve pegar o ID e etc...

Quanto ao problema do ID, tenha mais atenção:

$id = (isset($_GET['id']))?$_GET['id']:NULL;

Para que você acha que serve aquele NULL ali? Aliás, você sabe o que significa NULL?

Vou mudar para:

$id = (isset($_GET['id']))?$_GET['id']:FALSE;

Assim você coloca:

...
$id = (isset($_GET['id']))?$_GET['id']:FALSE;
if($id){
//Aqui o código pra buscar no banco de dados...
}

Então em resumo a coisa tem que seguir a seguinte lógica:

Na página todosclientes.php você lista os cliente com os links para a página individual.php, os links deverão ser:

individual.php?id=xxx (onde xxx é o id do cara), na página individual.php você resgata o id ($id = (isset....)) e ai faz a query.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...