Ir para conteúdo

POWERED BY:

Arquivado

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

Joy Tecnologia

Problema com ID

Recommended Posts

Olá Galera, beleza?

 

Estou aplicando um código de busca em ajax, no meu projeto, mas estou tendo dificuldades para colocar um link nos resultados que chame as informações no banco pelo ID.

 

O código é seguinte:

 

<?php
if(!empty($_GET["valor"]))
{
require_once("../admin/conn.php");

// EXECUTA A INSTRUÇÃO SELECT PASSANDO O QUE O USUARIO DIGITOU
$sql="select * from tab_imagens where modelo like '$_GET[valor]%'";
$resultado=mysql_query($sql) or die (mysql_error());

//VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS
$linhas=mysql_num_rows($resultado);

if($linhas>0){
//EXECUTA UM LOOP PARA MOSTRAR OS NOMES DAS PESSOAS
// VALE LEMBRAR QUE TODOS ESSES RESULTADOS SERAO MOSTRADOS DENTRO DA PAGINA INDEX.PHP
// DENTRO DO DIV 'PAGINA'

while($pegar=mysql_fetch_array($resultado))
echo ("<a href=\"detalhes.php?id=\"$pegar[modelo]\">$pegar[modelo]<br></a>");
}

}
?>

 

A minha dificuldade está justamente no final do código, echo ("<a href=\"detalhes.php?id=\"$pegar[modelo]\">$pegar[modelo]<br></a>");, parece que o ID não está sendo passado da forma correta, porque as informações não estão sendo apresentadas na página detalhes.

 

Desde já eu agradeço a atenção da galera...

 

Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo primeiro de tudo , você esta utilizando a função do mysql mysql_fetch_array q retorna um vetor com posições de valores numéricos , no caso seria $pegar[0] por exemplo .... de acordo com as posições do atributos cadastrado no banco ...

 

no caso utiliza mysql_fetch_assoc onde esta função traz os resultados indexado com string no caso o nome de cada campo do banco ....exemplo:

 

$pegar[id]

 

Ai sim !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe Eduardo mas sou iniante em PHP por isso n entendi muito bem o que você quis dizer, teria como você postar pra mim como ficaria o código então?

Cara dei uma mudada no código mais não testei, tenta isso se der certo e ainda tiver dúvida é só falar valeu!!!

 

<?Php 
  if(!empty($_GET["valor"])) {
	require_once("../admin/conn.php");

	// EXECUTA A INSTRUÇÃO SELECT PASSANDO O QUE O USUARIO DIGITOU
	$resultado = mysql_query("select * from tab_imagens where modelo like '$_GET[valor]%'");

	while($pegar = mysql_fetch_array($resultado)) 
	  echo '<a href="detalhes.php?id='.$pegar['modelo'].'">'.$pegar['modelo'].'</a><br>';
  }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza MaktubBruno?

 

É o seguinte, fiz a modificação que você me passou, mas continua apresentando o mesmo erro na página "detalhes" que lista as informações do banco, este erro:

 

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in

 

o que será?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Edu... essa é a parte do código com o nome dos campos...

 

$modelo1 = mysql_result($carro, 0, "modelo");

$marca1 = mysql_result($carro, 0, "marca");

$ano1 = mysql_result($carro, 0, "ano");

$combustivel1 = mysql_result($carro, 0, "combustivel");

$cambio1 = mysql_result($carro, 0, "cambio");

$portas1 = mysql_result($carro, 0, "portas");

$tipo1 = mysql_result($carro, 0, "tipo");

$motor1 = mysql_result($carro, 0, "motor");

$valor1 = mysql_result($carro, 0, "valor");

$cor1 = mysql_result($carro, 0, "cor");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Edu... essa é a parte do código com o nome dos campos...

 

$modelo1 = mysql_result($carro, 0, "modelo");

$marca1 = mysql_result($carro, 0, "marca");

$ano1 = mysql_result($carro, 0, "ano");

$combustivel1 = mysql_result($carro, 0, "combustivel");

$cambio1 = mysql_result($carro, 0, "cambio");

$portas1 = mysql_result($carro, 0, "portas");

$tipo1 = mysql_result($carro, 0, "tipo");

$motor1 = mysql_result($carro, 0, "motor");

$valor1 = mysql_result($carro, 0, "valor");

$cor1 = mysql_result($carro, 0, "cor");

 

 

 

amos la ....

 

 

você fez a consulta :

$resultado = mysql_query("select * from tab_imagens where modelo like '$_GET[valor]%'");

 

esta consulta vai trazer todos os campos da tabela certo ?

 

QUando você utiliza a função " $pegar = mysql_fetch_array($resultado)"

 

o q acontece ?

 

a função pega linha por linha e atribui na variavel um vetor contendo em cada posição um campo diferente da tabela consultada e o indice desse vetor fica indexado com valores numericos de 0 a n ..

 

Por exemplo :

Vamos supor q sua tabela tem 4 campos ( id , nome , modelo , url )

você utilizando a função mysql_fetch_array a variavel recebe todos esses campos cada campo em uma posição ...

 

E para acessar cada valor você teria q usar $pegar[0] que é igual ao campo id , $pegar[1] que é igual ao campo nome , $pegar[2] que é igual ao campo modelo , $pegar[3] que é igual ao campo url

 

saco mais ou menso ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para você usar o vetor do jeito que você quer com indice com valores do tipo string você tem q utilizar a função mysql_fetch_assoc...

 

 

Assim sim se você utilizar mysql_fetch_assoc ai vai dar certo você utilizar $pegar[modelo]..... ou $pegar[marca] .... ou $pegar[ano] e assim vai !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi agora Eduardo, o código ficou da seguinte forma então:

 

<?php
if(!empty($_GET["valor"]))
{
require_once("../admin/conn.php");

// EXECUTA A INSTRUÇÃO SELECT PASSANDO O QUE O USUARIO DIGITOU
$sql="select * from tab_imagens where modelo like '$_GET[valor]%'";
$resultado=mysql_query($sql) or die (mysql_error());

//VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS
$linhas=mysql_num_rows($resultado);

if($linhas>0){
//EXECUTA UM LOOP PARA MOSTRAR OS NOMES DAS PESSOAS
// VALE LEMBRAR QUE TODOS ESSES RESULTADOS SERAO MOSTRADOS DENTRO DA PAGINA INDEX.PHP
// DENTRO DO DIV 'PAGINA'

while($pegar=mysql_fetch_assoc($resultado))
echo ("<a href=\"detalhes.php?id=\"$pegar[modelo]\">$pegar[modelo]<br></a>");
}

}
?>

 

mas infelizmente a página detalhes continua apresentando o mesmo erro,

 

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in

 

o código todo dela é o seguinte:

 

 

<?php

	  // Para entrar na primeira página sem ter que passar o parametro
 
	  $pg= $_GET['$pegar[modelo]'];
 
	  if (!isset($pg))
  
	  {

	  $pg = 1;
  
	  }
  
 ?>

<?php 
// Faz a conexão com o Banco de Dados
require_once("../admin/conn.php");


// Montando o Select para buscar os veículos cadastrados no Banco de Dados


$sql = "SELECT * FROM tab_imagens WHERE idImagem = '".$_GET['id']."'

";
					  


// Função para o envio do SQL para o banco
$carro = mysql_query($sql);

$dados = mysql_fetch_assoc($carro);


// Fechando conexão com o Banco de Dados
mysql_close($conexao); 


// Busca os dados do SQL


$modelo1 					=  mysql_result($carro, 0, "modelo");
$marca1 					=  mysql_result($carro, 0, "marca");
$ano1 						=  mysql_result($carro, 0, "ano");
$combustivel1 				=  mysql_result($carro, 0, "combustivel");
$cambio1					=  mysql_result($carro, 0, "cambio");
$portas1 					=  mysql_result($carro, 0, "portas");
$tipo1 						=  mysql_result($carro, 0, "tipo");
$motor1 					=  mysql_result($carro, 0, "motor");
$valor1						=  mysql_result($carro, 0, "valor");
$cor1 						=  mysql_result($carro, 0, "cor");


?>
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<link href="style.css" rel="stylesheet" type="text/css" />



<title>Emercar | Agência de Automóveis</title>



<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>

<script type="text/javascript" src="jquery-1.2.6.min.js"></script>

<script>

	  $(document).ready(function(){

		  $("dd:not(:first)").hide();

		  $("dt a").click(function(){

			  $("dd:visible").slideUp("slow");

			  $(this).parent().next().slideDown("slow");

			  return false;

		  });

	  });

  </script>
	 
 


</head>



<body>

<div id="container">

	<div id="header">

	  <script type="text/javascript">

AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','785','height','351','title','menu','src','layout/flash/topo_menu','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','layout/flash/topo_menu' ); //end AC code

</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="785" height="351" title="menu">

		<param name="movie" value="layout/flash/topo_menu.swf" />

		<param name="quality" value="high" />

		<embed src="layout/flash/topo_menu.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="785" height="351"></embed>

	  </object></noscript>	

	</div>

<div id="content">

	<div id="conteudo">
	
		<div id="detalhes">
		
		<div id="detalhesFotos">
		
		<ul>
		
		<li>
		<input type="hidden" name="idImagem" id="idImagem" value="<?php echo $_GET['id'];?>" />
		</li>
		
		<li class="bordafoto">
		
		<img src="admin/grande/<?php echo $dados['descImagem'];?>" width="300" height="250" />		
		
		</li>
		
		</ul>
		
		</div>
		
		<div id="detalhesDescricao">
		
		
		<h3>Detalhes do veículo</h3>
		
		<ul>
		
		<li>
		<input type="hidden" name="idImagem" id="idImagem" value="<?php echo $_GET['id'];?>" />
		</li>
		
		<li>
		<b>Modelo:</b> <?php echo $modelo1?>
		</li>
		
		<li>
		<b>Marca:</b> <?php echo $marca1?>
		</li>
		
		<li>
		<b>Motor:</b> <?php echo $motor1?>
		</li>
		
		<li>
		<b>Valor:</b> <?php echo $valor1?>
		</li>
		
		<li>
		<b>Combustível:</b> <?php echo $combustivel1;?>
		</li>
		
		<li>
		<b>Câmbio:</b> <?php echo $cambio1;?>
		</li>
		
		<li>
		<b>Nº de Portas:</b> <?php echo $portas1?>
		</li>
		
		<li>
		<b>Tipo:</b> <?php echo $tipo1?>
		</li>
		
		<li>
		<b>Ano:</b> <?php echo $ano1?>
		</li>
		
		<li>
		<b>Cor:</b> <?php echo $cor1?>
		</li>
		
		</ul>
		
		</div>
		
		
		
		<p> </p>
		<p> </p>
		<p> </p>
		<p> </p>
		
		<a href="estoque.php"><img src="images/bt_voltar.gif" alt="Voltar" border="0"/></a>
		
		</div>
		
		</div>

	   	</div>

		<div class="clear"></div>

		<div id="footer">

			<p><b>Emercar Automóveis</b> - Av. Barão Homem de Melo, nº 1399, Nova Suiça, Belo Horizonte / MG.<br />

			Tel: (31) 3377-4811 / 2511-4700 / 2511-4849</p>

		</div>

  </div>	



<h4>Bless</h4>



</body>

</html>

onde está o erro então?

Compartilhar este post


Link para o post
Compartilhar em outros sites

// Função para o envio do SQL para o banco

$carro = mysql_query($sql);

 

 

$dados = mysql_fetch_assoc($carro)

 

 

// Busca os dados do SQL

 

 

$modelo1 = $dados[modelo];

$marca1 = $dados[marca];

$ano1 = $dados[ano];

$combustivel1 = $dados[combustivel];

$cambio1 = $dados[cambio];

$portas1 = $dados[portas];

$tipo1 = $dados[tipo];

$motor1 = $dados[motor];

$valor1 = $dados[valor];

$cor1 = $dados[cor];

 

 

// Fechando conexão com o Banco de Dados

mysql_close($conexao);

 

?>

 

você estava fechando a conexão do banco e depois tentando utilizar uma função mysql , deve ser isso testa esse ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo primeiro de tudo , você esta utilizando a função do mysql mysql_fetch_array q retorna um vetor com posições de valores numéricos , no caso seria $pegar[0] por exemplo .... de acordo com as posições do atributos cadastrado no banco ...

 

no caso utiliza mysql_fetch_assoc onde esta função traz os resultados indexado com string no caso o nome de cada campo do banco ....exemplo:

 

$pegar[id]

 

Ai sim !!

mysql_fetch_array retorna um array associado pelo nome do campo no banco, array numérico ou os dois...

 

e não somente numérico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

// Fechando conexão com o Banco de Dados
mysql_close($conexao);

 

Cara você está fechando a conexão com o banco e depois tenta mostrar os valores

Tenta desta forma

 

// Montando o Select para buscar os veículos cadastrados no Banco de Dados
$id = $_GET['id'];

$sql = mysql_query("SELECT * FROM tab_imagens WHERE idImagem = '$id' ");
					  
$dados = mysql_fetch_array($sql);

// Busca os dados do SQL
$modelo1 = $dados['modelo'];
$marca1  = $dados['marca'];
$ano1  = $dados['ano'];
$combustivel1 = $dados['combustivel'];
$cambio1	= $dados['cambio'];
$portas1 = $dados['portas'];
$tipo1 = $dados['tipo'];
$motor1  = $dados['motor'];
$valor1  = $dados['valor'];
$cor1  = $dados['cor'];
?>

 

Confira o nome da tabela o nome dos campos e se realmente está passando o valor pelo $GET

 

Nesta Tabela: "tab_imagens" existem todos esses campos???

Compartilhar este post


Link para o post
Compartilhar em outros sites

// Fechando conexão com o Banco de Dados
mysql_close($conexao);

 

Cara você está fechando a conexão com o banco e depois tenta mostrar os valores

Tenta desta forma

 

// Montando o Select para buscar os veículos cadastrados no Banco de Dados
$id = $_GET['id'];

$sql = mysql_query("SELECT * FROM tab_imagens WHERE idImagem = '$id' ");
					  
$dados = mysql_fetch_array($sql);

// Busca os dados do SQL
$modelo1 = $dados['modelo'];
$marca1  = $dados['marca'];
$ano1  = $dados['ano'];
$combustivel1 = $dados['combustivel'];
$cambio1	= $dados['cambio'];
$portas1 = $dados['portas'];
$tipo1 = $dados['tipo'];
$motor1  = $dados['motor'];
$valor1  = $dados['valor'];
$cor1  = $dados['cor'];
?>

 

Confira o nome da tabela o nome dos campos e se realmente está passando o valor pelo $GET

 

Nesta Tabela: "tab_imagens" existem todos esses campos???

 

Cara na real acho q você esta fazendo consulta em uma tabela q não existe esses dados ....!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara na real acho q você esta fazendo consulta em uma tabela q não existe esses dados ....!!!!

Eu usei os dados que o Joy Tecnologia passou no código se os dados estão corretos acredito que minha dica funcionará

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja falei pra ele fazer isso mais continua dando erro :

 

 

 

Grupo: Membros

Posts: 42

Registrado: 24/06/2008

Membro N°: 80.067

 

 

 

 

 

 

// Função para o envio do SQL para o banco

$carro = mysql_query($sql);

 

 

$dados = mysql_fetch_assoc($carro)

 

 

// Busca os dados do SQL

 

 

$modelo1 = $dados[modelo];

$marca1 = $dados[marca];

$ano1 = $dados[ano];

$combustivel1 = $dados[combustivel];

$cambio1 = $dados[cambio];

$portas1 = $dados[portas];

$tipo1 = $dados[tipo];

$motor1 = $dados[motor];

$valor1 = $dados[valor];

$cor1 = $dados[cor];

 

 

// Fechando conexão com o Banco de Dados

mysql_close($conexao);

 

?>

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.