Ir para conteúdo

Arquivado

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

TiagoWanderley

Erro para mostrar conteúdo pelo "ID"

Recommended Posts

Olá pessoal,

 

Estou fazendo meu primeiro sistema e deparei com um erro. Quando clico no link para que me retorno uma informação de acordo com 'id' cadastrado em minha tabela a pesquisa esta me retornando as informações sempre da primeira linha. Exemplo:

 

Clico em "Detalhes" do processo "23" a pesquisa me retorna as informações do processo "01"

Se clico no link "Detalhes" do processo 40 a pesquisa também me retorna as informações do processo "01"

 

Ou seja qualquer processo que solicito detalhes ele só me retorna as informações da primeira linha do bd. Se eu excluir a linha do id 01 o id 02 que vai ficar na primeira linha passa a me retornar suas informações. Já revisei o código e não estou encontrando o erro...

 

Por favor me ajudem!!!

 

Link que puxa as informações:

 

<td bgcolor="#FFFFDD"><a href="historicos_por_processo.php?id=<?php echo $row_Resultado['id']; ?>">[+] Detalhes</a> </td>

 

programação PHP:

 

<?php require_once('Connections/config.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];
?>
<?php require_once('Connections/config.php'); 
 
if(isset($_POST['consultar'])){
 
$q= mysql_real_escape_string($_POST['campo']);
 
$maxRows_Resultado = 20;
$pageNum_Resultado = 0;
if (isset($_POST['pageNum_Resultado'])) {
  $pageNum_Resultado = $_POST['pageNum_Resultado'];
}
$startRow_Resultado = $pageNum_Resultado * $maxRows_Resultado;
 
mysql_select_db($database_config, $config);
$query_Resultado = "SELECT * FROM consulta WHERE processo LIKE '%$q%' OR categoria LIKE '%$q%' OR situacao LIKE '%$q%'";
$query_limit_Resultado = sprintf("%s LIMIT %d, %d", $query_Resultado, $startRow_Resultado, $maxRows_Resultado);
$Resultado = mysql_query($query_limit_Resultado, $config) or die(mysql_error());
$row_Resultado = mysql_fetch_assoc($Resultado);
 
if (isset($_POST['totalRows_Resultado'])) {
  $totalRows_Resultado = $_POST['totalRows_Resultado'];
} else {
  $all_Resultado = mysql_query($query_Resultado);
  $totalRows_Resultado = mysql_num_rows($all_Resultado);
}
$totalPages_Resultado = ceil($totalRows_Resultado/$maxRows_Resultado)-1;
 
} else {
 
$maxRows_Resultado = 20;
$pageNum_Resultado = 0;
if (isset($_GET['pageNum_Resultado'])) {
  $pageNum_Resultado = $_GET['pageNum_Resultado'];
}
$startRow_Resultado = $pageNum_Resultado * $maxRows_Resultado;
 
mysql_select_db($database_config, $config);
$query_Resultado = "SELECT DISTINCT categoria FROM consulta";
$query_limit_Resultado = sprintf("%s LIMIT %d, %d", $query_Resultado, $startRow_Resultado, $maxRows_Resultado);
$Resultado = mysql_query($query_limit_Resultado, $config) or die(mysql_error());
$row_Resultado = mysql_fetch_assoc($Resultado);
 
if (isset($_GET['totalRows_Resultado'])) {
  $totalRows_Resultado = $_GET['totalRows_Resultado'];
} else {
  $all_Resultado = mysql_query($query_Resultado);
  $totalRows_Resultado = mysql_num_rows($all_Resultado);
}
$totalPages_Resultado = ceil($totalRows_Resultado/$maxRows_Resultado)-1;
 
}
 
$queryString_Resultado = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Resultado") == false && 
        stristr($param, "totalRows_Resultado") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Resultado = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Resultado = sprintf("&totalRows_Resultado=%d%s", $totalRows_Resultado, $queryString_Resultado);
?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentar alterar essa linha

 

$query_Resultado = "SELECT * FROM consulta WHERE processo LIKE '%$q%' OR categoria LIKE '%$q%' OR situacao LIKE '%$q%'";

 

 

Para um concatenação... assim:

$query_Resultado = "SELECT * FROM consulta WHERE processo LIKE '%".$q."%' OR categoria LIKE '%".$q."%' OR situacao LIKE '%".$q."%'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta

 

 

tenta substituir isso:

$query_Resultado = "SELECT * FROM consulta WHERE processo LIKE '%".$q."%' OR categoria LIKE '%".$q."%' OR situacao LIKE '%".$q."%'";

por isso

$query_Resultado = "SELECT * FROM consulta WHERE id = '".$_GET['id']."'";

Agora vc tem q ver se no BD a sequencia identificadora do registro de chama 'id' mesmo.. ok?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

searching_,

 

Deu certo meu amigo!

 

O problema estava na busca na pagina de destino "historicos_por_processo.php" onde os resultados eram apresentados fiz a alteração lá e o problema foi resolvido.

 

Obrigado de coração!

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.