Ir para conteúdo

POWERED BY:

Arquivado

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

Vinicius Cainelli

método load() jQuery com PHP

Recommended Posts

Antes q alguem mude o tópico, minha dúvida realmente é no AJAX e nao no PHP.

Seguinte.. quero saber como faço pra fazer o load de uma DIV dentro de outra, só q, ela sendo gerada dinamicamente com dados MySQL e PHP.

 

Assim.. tenho a pag dados.php

 

<?php
$sql = mysql_query ("SELECT * FROM produtos", $db);
while ($linha = mysql_fetch_array($sql)){ 
?>// gera os links com o ID de cada produto
<a href="#<?php echo $linha ['id']; ?>">
  <?php echo $linha ['imagem']; ?> - (<?php echo $linha ['id']; ?>)</a>
<?php }?>
</div>

<div id="carrega"></div>// DIV ONDE O CONTEUDO DEVE CARREGAR

 

e a pag produtos.php

 

<?php
include "config.php";
$sql = mysql_query ("SELECT * FROM produtos", $db);
while ($linha = mysql_fetch_array($sql)){ 
?>

// o ID DA DIV é o mesmo ID do produto.
<div class="produto" id="<?php echo $linha ['id']?>" >
<img src="images/produtos/normal/<?php echo $linha ['imagem']?>.png" alt="<?php echo $linha ['nome']; ?>" title="<?php echo $linha ['nome']; ?>" />
</div>
<?php }?>

na pagina DADOS, qdo clicar em algum dos links, ele carrega a pagina PRODUTOS e mostra somente a div com o ID correspondente ao link. eu já achei alguns tutos, mas pra links e paginas estaticas, e eu preciso de uma coisa dinamica...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha cara, exemplo bem simples:

 

index.php

<html>
<head>
	<title>AJAX trazendo informações produto</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$("#l-produtos a").click(function( e ){
		e.preventDefault();
		var href = $( this ).attr('href');
		$.ajax({
			type: 'GET',
			url: 'produto.php',
			data: 'id_produto='+href,
			success: function( data )
			{
				$("#show_produto").html(data);
			}
		});
	});
});
</script>
</head>
<body>

	<ul id="l-produtos">
<?php
	$mysqli = new mysqli('localhost','root','123','ajax');
	$sql = "SELECT id, nome FROM produto";
	
	$query = $mysqli->query( $sql )or die( $mysqli->error );
	while( $dados = $query->fetch_object() )
		echo '<li><a href="'.$dados->id.'">'.$dados->nome.'</a></li>'

?>
	</ul><!-- /l-produtos -->
	<div id="show_produto">
	
	</div><!-- /show_produto -->
</body>
</html>
produtos.php

<?php
	header("Content-Type: text/html; charset=ISO-8859-1");
	
	
	$mysqli = new mysqli('localhost','root','123','ajax');
	
	$id_produto = isset( $_GET['id_produto'] ) ? (int)$_GET['id_produto'] : null;
	$sql = "SELECT `id`, `nome`, `descricao` FROM `produto` WHERE `id` = {$id_produto}";
	
	$query = $mysqli->query( $sql ) or die ( $mysqli->error );
	$dados = $query->fetch_object();
	
	
	echo '<strong>'.$dados->id.'<strong>';
	echo '<h1>'.$dados->nome.'</h1>';
	echo '<p>'.$dados->descricao.'</p>';
sql.sql

--
-- Estrutura da tabela `produto`
--

CREATE TABLE IF NOT EXISTS `produto` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(100) NOT NULL,
  `descricao` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Extraindo dados da tabela `produto`
--

INSERT INTO `produto` (`id`, `nome`, `descricao`) VALUES
(1, 'Livro', 'Um livro muito interessante'),
(2, 'CD', 'Só música boa');

Compartilhar este post


Link para o post
Compartilhar em outros sites

$('#carrega').load('produtos.php #' + id);

Assim, você puxa somente o ID correspondente ao do link. Boa sorte aí para definir a variável id :]

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.