Ir para conteúdo

POWERED BY:

Arquivado

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

Vandilson Lima

[Resolvido] Div (pop up) com conteudo dinânico em php

Recommended Posts

Olá Pessoal do Imasters

 

Ja procurei e não consegui encontrar auxilio para um script que to querendo implantar no meu site.

 

 

Eis a pagina:

 

http://www.undersound.com.br/site/banda.php?id=279

 

Acessem para compreender minha duvida

 

 

è uma pagina dinamica que os dados vem do banco de dados, a questão é :

 

Quero abrir uma DiV ao clicar na opção detalhes que esta na parte da direita da pagina, ou seja:

 

Ali estão lista de shows da banda, ao clicar em detalhes abrirá uma DIV com as informações do respectivo show que foi clicado, já esta tudo pronto, só falta encaixar o codigo em PHP dentro da div para que exiba o conteudo do show clicado

 

Será que alguem tem alguma ideia de como posso fazer isso ?

 

Espero que tenham compreendido essa explicação meio confusa

 

Abraçoss galera !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bahh cara vai fica bacana o site... tava dando uma olhada .. ate postei uma noticia la ... ^^ mas assim .. pra faze isso voce vai ultiliza ajax... pra facilita voce pode usa uma um sei la se eh framework bilblioteca ou sei la oq ... mas o nome eh Prototype JS ... com isso vai fica muito simples.. vo passa um exemplo....

 

<script src="prototype.js" type="text/javascript"></script>
<script type="text/JavaScript">

function MM_jumpMenu(targ,selObj,restore){ //v3.0
	var valor = selObj.value;
	
	// alert(valor);   
	
	new Ajax.Request('ajax_response_descricao_ref.php?referencia='+valor,
			   {   
				 onSuccess: function(transport) 
					 {	  
						   $('ajx_ref').innerHTML = transport.responseText;
					  } 
			 });

no caso esse exemplo eu fiz com um menu/list entao eu botava no onchange dele pra executa a funcao.. mas ae tu v como tu que faze ... dai eh so cria a pagina de resposta q no caso desse exemplo seria ajax_response_descricao_ref.php com o que tu que devolve pra tela.. assim vai aparece os detalhes sem recarrega a pagina ...^^

 

valww espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pekla ajuda Will, vo tentar aqui, parece um pouco complexo para minha cabeça, não entendi muito bem, mas vou tentar, rsrsrs

 

Caso tenham outras alternativas podem postar, estou á tentar aqui...

 

Agradeço muito a ajuda !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa galera, tá punk o negócio aqui, ja mergulhei no Gooooooooogle, fiquei horas pesquisando e testando codigos, mas num vai nem á pau, falta só isso pra finalizar no site, não quero morrer na praia......

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.. não vi a menor necessidade de AJAX ai..

beleza..a página dinâmica vem do banco.. q nem você falou..

 

mas e oque você quer abrir? tá no banco tb ?

Basta capturar com o $_GET['seiLaOque']; e montar o WHERE da query... e tá feito, o teu popup dinâmico com dados do banco...

 

você tem uma tabela com os shows, ne?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça outro... concatena nesse ai, fica:

banda.php?id=279&show=15
pegou?

ai você vai ter um

$_GET['id'];

e um

$_GET['show'];

 

:lol:

usando o &, você pode colocar qntos parâmetros quiser na URL.. respeitando os 255 caracteres máximos..

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi, mas devo estar fazendo algo errado do link, esta assim:

 

 

><a href='&show={$reg['cod']}' onclick='java script: abrir()'>

mas se coloco desta maneira o link vai para:

 

http://undersound.com.br/site/&show=15

 

e se eu colocar:

 

banda.php?id=279&show=15

 

ai ele vai... mas ele carrega em uma nova pagina, e pra funcionar o codigo tem q funcionar sem carregar outra pagina, tipo com um:

 

<a href="#">

que ai ele ficaria na mesma página

Compartilhar este post


Link para o post
Compartilhar em outros sites

"outra página", "mesma página", q você diz... se refere à abrir em _blank ou não?

 

Mostra essa função Javascript ai.. abrir()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum.. tá abrindo um "falso popup" ne?!

 

uma espécie de DIV escondida.. foi isso que você fez ??

ai no caso, você não vai poder trabalhar com URL mesmo... e pra preencher ela, na verdade, ela já vai tar preenchida.. você só vai dar block/none nelas..(lembrando que para cada show, você já tem que ter a respectiva DIV escondida no código, com o conteudo já carregado)

 

Se não for assim, vai ser somente com AJAX mesmo.. eu não aconselho...

pq num abre um popup mesmo de vez ? uma outra janela... ou abre nessa mesma.. carregando no lugar de alguma outra informação ?(essas são as formas simples de resolver)

Compartilhar este post


Link para o post
Compartilhar em outros sites

pensei até mesmo num pop up normal, mas ai tem a questão do navegador bloquear, não queria fazer assim, tava ficando bem legal dessa forma, agora desanimei

 

até consegui fazer, mas tem q clicar duas vezes na pagina pra exibir:

 

http://www.undersound.com.br/site/banda.php?id=279

 

 

To me matando á dias niso, mas pelo visto vou ter q usar algum plano B, mas de qualquer forma, muitissimo obrigado pela ajuda William,

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é muito simples...

 

Basta você ter uma div que vai ficar escondida (display: none;)... dá um ID pra div

 

Quando você clicar no link, uma função javascript mostra a div e carrega uma página separada, em AJAX...

 

Essa outra página vai ser *.php e vai executar a busca lá no banco...

 

Tenho um mecanismo AJAX aqui bem simples:

var xmlHttp;

function Cria_XmlHttpObject(){

	var xmlHttp = null;
	
	//cria o objeto XMLHttpRequest pra firefox, mozila, opera, etc
	try {
		xmlHttp = new XMLHttpRequest();
	} 
	
	//cria o objeto XMLHttpRequest pra internet explorer, 6,0 + e posteriormente para internet explorer
	catch (e) {
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		
		catch (e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	return xmlHttp;
}

/*
o parametro aqui é o codigo do evento a ser carregado, passe o codigo do show, ou etc pelo metodo get. 
no PHP: echo "<a href=\"java script: mostraDetalhes();\" onclick=\"return mostraDetalhes('$cod_show')\">Detalhes</a>"
*/
function mostraDetalhes(codigo){
	xmlHttp = Cria_XmlHttpObject();
	
	if (xmlHttp == null) {
		alert('O seu Broswer não suporta AJAX!');
		return;
	}
	
	var objetoHTML = document.getElementById("AQUI O ID DA DIV");
	
	//mostrar a div que tá oculta
	objetoHTML.style.display = "block";
	
	// exibe um "Carregando" enquanto a página carrega;
	objetoHTML.innerHTML = "<div id='carregando'>Carregando...</div>" + objetoHTML.innerHTML;
	
	var pagina = "detalhes.php?cod_artista="+codigo;
	
	xmlHttp.open("GET", pagina, true);
	
	
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.status == 200) {
				objetoHTML.innerHTML = xmlHttp.responseText;
			}
			else 
				if (xmlHttp.status == 404) {
					objetoHTML.innerHTML = "<div>Página não encontrada.</div>";
				}
		}
	}
	
	
	xmlHttp.send(null);

		return false; //IMPORTANTE para que o atributo href do link não seja ativado.
}

//atribua ao "X" da janela
function fecharDiv(){
	var objetoHTML = document.getElementById("AQUI O ID DA DIV");
	objetoHTML.style.display = "none"; //oculta a div
	objetoHTML.innerHTML = ""; //zera o conteudo da div;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw rick pela ajuda, porém parece ser muito complexo pra minha cabeça, sabe como é tenho mais habilidade com as partes graficas, me perco quando tenho q usar codigos pra qualquer coisa, rsrsrsr

 

 

 

 

esse codigo que você posto, onde será colocado ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie um arquivo *.js e copia essas 3 funções...

 

de um nome pro arquivo, se colocar dentro de uma pasta, não eskeça de colocar o caminho relativo a pasta

 

Linka ele ná pagina que vai ser usado, na index, provavelmente:

<script type="text/javascript" src="PASTA/ARQUIVO.js"></script>

Bom... no arquivo php, quando você for gerar o link para os detalhes você faz assim:

 

echo "<a href=\"java script: mostraDetalhes();\" onclick=\"return mostraDetalhes('$cod_show')\">Detalhes</a>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok Rick, muito obrigado, vou testar aqui, porém tenho umas duvidas:

 

 

1º - O codigo que você postou é só copiar msm, não há necessidade de alterar nada ??

2º - Na Div, faço o Select com GET:

 

WHERE cod = '$_GET[cod]';

 

Será que esta correto ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta fazer aí, qqr duvida, poste aqui q a gnt tenta ajuda...

 

vo fica umas 2h fora, vo te q formata meu notebook... a noite estarei aki...

 

Flws...

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa garoto, assim msm...

 

você tem q alterar umas coisinhas no codigo sim...

 

coloque o ID da div entre aspas onde tiver document.getElementById();

 

a pagina tbm você vai ter que mudar pois não sei como que chama sua pagina que mostra os detalhes...

 

mude aqui:

var objetoHTML = document.getElementById("AQUI O ID DA DIV");

e aqui:

var pagina = "detalhes.php?cod_artista="+codigo; //não sei se a busca eh por artista ou por show, você q ve aih

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.