Ir para conteúdo

POWERED BY:

Arquivado

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

JRRC

[Resolvido] Problema com Link

Recommended Posts

Bom galera meu problema é o seguinte, para mim poder visualizar alguns exames de um determinando cliente eu preciso saber qual o ID do seu exame, no entanto da forma que estou fazendo aqui ele está apenas passando um unico ID (ID = 2) na url para todos os exames, meu código está assim:

 

$sql = "SELECT anam.id AS anamID FROM anamnese AS anam, cliente WHERE cliente.id = anam.cliente_id";
    $resultado = mysql_query($sql);
    $linha = mysql_fetch_array($resultado);
           $anamID = $linha[anamID];

 

E na URL estou passando os parametros assim:

 

<div><a href="index.php?link=46&codigo=<?php echo $anamID?>">

 

Aparentemente parece está correto, mas os valores passam apenas assim

http-~~-//localhost/safen/index.php?link=46&codigo=2

para qualquer cliente, ou seja, todos os cliente aparecem apenas os exames do ID = 2.

 

O que eu gostaria era que de acordo com id do cliente (cliente.id) fosse referenciado com o seu id que está armazenado na tabela anamnese (anamnese.cliente_id) e então aparecesse o seu respectivo exame.

 

Por exemplo tenho os cliente com o ID

 

Tabela cliente com o seguites IDs:

 

ID

1

2

3

 

Tabela anamese com o seguites IDs e cliente_id's:

 

ID Cliente_id

1 ------ 3

2 ------ 1

3 ------ 2

 

Então o cliente com ID = 1 chamasse o exame com ID = 2, já que sua chave estrangeira está armazenada no exame com ID = 2

 

Alguém por favor poderia me ajudar a solucionar este problema ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua consulta não está usando variável. Ou seja, o valor não está vindo da URL.

 

Não sei como está aparecendo sempre 2.

 

 

O Where deve usar a variável da URL para buscar o exame desejado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua consulta não está usando variável. Ou seja, o valor não está vindo da URL.

 

Não sei como está aparecendo sempre 2.

 

 

O Where deve usar a variável da URL para buscar o exame desejado.

 

Então eu deveria fazer a consulta da forma que está abaixo:

 

<?php
include "./conexao.php";
$codigo = $_GET["codigo"];

$sql = "SELECT anam.id AS anamID FROM anamnese AS anam WHERE anam.id = '$codigo'";
$resultado = mysql_query($sql);
$linha = mysql_fetch_array($resultado);

$anamID = $linha[anamID];

 

E o link continua da forma que está, ou seja, assim:

 

index.php?link=45&codigo=<?php echo $anamID ?>

 

Porque se for dessa forma quando clik para visualizar algum exame a url fica assim:

 

http-~~-//localhost/safen/index.php?link=46&codigo=

 

Como dá para perceber na URL não nenhum valor, onde que o erro pode está nessa consulta ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu código estaá assim:

 

<?php
include "./conexao.php";
$codigo = $_GET["codigo"];

$sql = "SELECT anam.id AS anamID FROM anamnese AS anam WHERE anam.id = '$codigo'";
$resultado = mysql_query($sql);
$linha = mysql_fetch_array($resultado);

$anamID = $linha[anamID];


?>
<div class="titulo_content">
 <h1>Ver Exames</h1>
</div>
<br />
<div class="lista_links">
<div><a href="index.php?link=46&codigo=<?php echo $anamID?>">
 <h3>Anamnese</h3></a></div></div>

 

E na url se no lugar de $anamID eu colocar $codigo ele fica pegando o codigo referente a consulta e não ao exame

Compartilhar este post


Link para o post
Compartilhar em outros sites

use mysql_num_rows para verificar se a consulta realmente está retornando resultados

 

Fiz da seguinte forma que está abaixo e ele está mostrando-me "0"

 

$sql = "SELECT anam.id AS anamID FROM anamnese AS anam WHERE anam.id = '$codigo'";
$resultado = mysql_query($sql);
$linha = mysql_num_rows($resultado);

echo "$linha";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Significa então que não está retornando nenhum valor na sua consulta.

 

Carlos Eduardo

 

Então o que que está errado na consulta, para ela não está retornando nenhum valor ?!

 

Hospedei o sistema aqui nesse link http://sharex.xpg.com.br/files/7701261591/safen.rar.html caso alguém queira baixa-lo e testar para ver se consegue ajeitar este problema e me dá ajuda ainda mais é claro, ai está..

 

Se eu não conseguir ajeitá-lo irei entregar da forma quee está se tirar uma boa nota bem.. se não, pelo menos tentei :(

 

Só deixando o caminho onde está dando esse problema é em safen >> avaliacao >> ver_exames.php o banco está dentro do arquivo (safen.sql).

 

Obrigado pela ajuda de todos..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Significa que não tem nenhum valor no banco de dados que corresponda aos critérios que você está pesquisando. Imprima a query antes de executar e tente rodar diretamente no BD (PHPMyAdmin ou outro) e veja se retorna alguma coisa.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Significa que não tem nenhum valor no banco de dados que corresponda aos critérios que você está pesquisando. Imprima a query antes de executar e tente rodar diretamente no BD (PHPMyAdmin ou outro) e veja se retorna alguma coisa.

 

Carlos Eduardo

 

Usando Mysql Front e fazendo a pesquisa pela seguinte seleção SELECT anam.id, cliente.id FROM anamnese AS anam, cliente WHERE cliente.id = anam.cliente_id ele me retorna o valor do ID da tabela anamnese e o ID da tabela cliente.

 

Mais eu fazendo dessa forma que está abaixo e mandando imprimir o mysql_query o resultado é o seguinte Resource id #8 que négocio é esse mesmo que foi imprimido ?!

 

$sql = "SELECT anam.id , cliente.id FROM anamnese AS anam, cliente WHERE cliente.id = anam.cliente_id";
$result = mysql_query($sql);

echo "$result";

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que mostra se você fizer isso?

echo $codigo;

Com a consulta dessa forma abaixo:

 

$sql = "SELECT anam.id , cliente.id FROM anamnese AS anam, cliente WHERE anam.id = '$codigo'";
     $result = mysql_query($sql);

 

Ele me retorna o valor correspondente a cada ID da consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você sabe o que está cadastrado na tabela? Como o Matias falou, não está havendo erro. Apenas não há registro para ser buscado.

 

Tente executar um SELECT sem condições e ver o que é retornado:

 

SELECT anam.id , cliente.id FROM anamnese AS anam, cliente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você sabe o que está cadastrado na tabela? Como o Matias falou, não está havendo erro. Apenas não há registro para ser buscado.

 

Tente executar um SELECT sem condições e ver o que é retornado:

 

SELECT anam.id , cliente.id FROM anamnese AS anam, cliente

 

Fiz a seguinte consulta abaixo:

 

$sql = "SELECT anam.id AS clienteAnam FROM anamnese AS anam, cliente";
$result = mysql_query($sql);

echo "$result";

 

E ela me retorna o seguinte valor Resource id #8.. sinceramente não entendo que erro é esse..

 

E quando faço uma consulta da forma que está abaixo aparece o seguinte resultado Array

 

$sql = "SELECT anam.id AS clienteAnam FROM anamnese AS anam, cliente WHERE cliente.id = anam.cliente_id";
$resultado = mysql_query($sql);
$linha = mysql_fetch_array($resultado);

echo "$linha";

$clienteAnam = $linha[clienteAnam];

 

E quando faço da forma que está abaixo aparece-me o valor 2 que é o que está atribuindo valor a todas as consultas

 

$sql = "SELECT anam.id AS clienteAnam FROM anamnese AS anam, cliente WHERE cliente.id = anam.cliente_id";
$resultado = mysql_query($sql);
$linha = mysql_fetch_array($resultado);

$clienteAnam = $linha[clienteAnam];

echo "$clienteAnam";

Compartilhar este post


Link para o post
Compartilhar em outros sites

$result é um tipo resource. você tem que recuperar os valores num loop usando mysql_fetch_assoc()

 

 

mas seria mais fácil executar a consulta em linha de comando ou num front-end

 

 

E como que ficaria usando o mysql_fetch_assoc() ou essas outras duas formas que você citou ?! Se tiver como dá um toque ficaria muito agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO

 

O codigo final ficou assim:

 

<?php
include "./conexao.php";
$codigo = $_GET["codigo"];
$id = $_GET["id"];

$sql = "SELECT anam.id FROM anamnese AS anam JOIN cliente AS cli ON anam.cliente_id = cli.id WHERE cli.id = '$codigo'";
		$resultado = mysql_query($sql);
		$linha = mysql_fetch_array($resultado);

		$clienteAnam = $linha[id]; 


$sql = "SELECT cc.id FROM compcorporal AS cc JOIN cliente AS cli ON cc.cliente_id = cli.id WHERE cli.id = '$codigo'";
		$resultado = mysql_query($sql);
		$linha = mysql_fetch_array($resultado);

		$clientecc = $linha[id]; 


$sql = "SELECT rb.id FROM res_bra AS rb JOIN cliente AS cli ON rb.cliente_id = cli.id WHERE cli.id = '$codigo'";
		$resultado = mysql_query($sql);
		$linha = mysql_fetch_array($resultado);

		$clienteBra = $linha[id]; 


$sql = "SELECT ra.id FROM res_abd AS ra JOIN cliente AS cli ON ra.cliente_id = cli.id WHERE cli.id = '$codigo'";
		$resultado = mysql_query($sql);
		$linha = mysql_fetch_array($resultado);

		$clienteAbd = $linha[id]; 


$sql = "SELECT v.id FROM vo2 AS v JOIN cliente AS cli ON v.cliente_id = cli.id WHERE cli.id = '$codigo'";
		$resultado = mysql_query($sql);
		$linha = mysql_fetch_array($resultado);

		$clienteVo2 = $linha[id]; 

?>
<div class="titulo_content">
 <h1>Ver Exames</h1>
</div>
<br />
<div class="lista_links">
<div><a href="index.php?link=46&codigo=<?php echo $clienteAnam?>">
 <h3>Anamnese</h3></a></div>
 <div><a href="index.php?link=47&codigo=<?php echo $clienteVo2?>">
 <h3>VO2 Máximo</h3></a></div>
<div><a href="#">
     <h3>Flexibilidade</h3></a>
 </div>
   <div><a href="index.php?link=49&codigo=<?php echo $clientecc?>">
 <h3>Composição Corporal</h3></a></div>
 <div><a href="index.php?link=50&codigo=<?php echo $clienteAbd?>">
 <h3>Resistência Abdominal</h3></a></div>
 <div><a href="index.php?link=51&codigo=<?php echo $clienteBra?>">
 <h3>Resistência dos Braços</h3></a></div>
 <div><a href="#">
 <h3>Teste de Carga Máxima</h3></a></div>
 <div><a href="#">
 <h3>Teste de Repetição Máxima </h3></a></div>
</div>

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.