Jump to content


Photo

Combobox Dinâmico


  • Faça o login para participar
1 reply to this topic

#1 Stroke

Stroke

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 23/12/2006, 18:42

É o seguinte povo..estou tentando fazer em php uma galeria de imagens...

ela funciona da seguinte maneira:
Tenho dois combo box no site, o primeiro combobox receberia os diretórios da pasta raiz do arquivo..que seriam as galerias..

Exemplo:

>ComboBox1 01 .....................................>ComboBox 2 (definido a partir do combo01)
- Galeria 01
- Galeria 02
- Galeria 03


e no combo 2, seria populado com as imagens da pasta selecionada no combo 01.

Abaixo o pedaço do código que tentei fazer em php...mas não deu muito certo não, e algumas pessoas me falaram que só se consegue integrar javascript + php com a tecnologia ajax...

<form id="form1" name="form1" method="post" onchange="" >

<select name="menu1" onchange="???(alguma função em java script..ou ajax..acho.">
<option value= "">Selecione a Galeria</option>

<?php

if ($dir=opendir("./")) //Diretório a ser vasculhado
{

while(($diretorio=readdir($dir)) !== false)
{
if($diretorio=="." or $diretorio==".." or $diretorio=="index.php") continue;
{
?>
<option value="<?php echo $diretorio; ?>"><?php echo $diretorio;?></option>

<?php
} //fecha o if
} //fecha o while
} //fecha o if

?>

</select>

<select name="imagens" onchange="">
<option value= "">Selecione a Imagem</option>


<?php

if ($dir_galeria=opendir("./".$diretorio)) //Diretório a ser vasculhado
{

while(($galeria=readdir($dir)) !== false)
{
if($galeria=="index.php") continue;
{
?>
<option value="<?php echo $galeria; ?>"><?php echo $galeria;?></option>

<?php
} //fecha o if
} //fecha o while
} //fecha o if

?>

</select>
</form>


Função de navegação de imagens já consegui fazer, estou me batendo muito pra essa navegação por diretórios, a maioria dos exemplos que eu acho são com arrays pré-definidos e banco de dados.

Por favor o povo xxxxxx no ajax ;D..dá uma mão ai.
STROKE

#2 fsjr

fsjr

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 22/02/2007, 16:03

É o seguinte povo..estou tentando fazer em php uma galeria de imagens...

ela funciona da seguinte maneira:
...


Cara no onchange da cidade tu coloca:

.. onchange="changeGaleria()" ...

Ai o método changeGaleria():

function changeGaleria() {
	var comboGaleria = document.getElementById('galeria');
	
	if(  comboGaleria.selectedIndex  == 0 ) {				
		document.getElementById('imagens').options.length = 0;	
		document.getElementById('imagens').options[0] = new Option( "Aguardando Galeria ..." , 0  );
	}
	else if(  comboGaleria.selectedIndex  > 0 )  {
		pesquisarGaleria( comboGaleria.options[comboGaleria.selectedIndex].value );
		}
}

Ai a pesquisa das imagens:

function pesquisarGaleria( valor )
{
  http.open("GET", "galerias.php?galeriaID="+valor, true);
  http.onreadystatechange = handleHttpResponseImagens;
  http.send(null);
}

E ..

function handleHttpResponseImagens()
{
	campo_select = document.getElementById('imagem');
	if( campo_select!=null ) 
		campo_select.options.length = 0;	
	
	if (http.readyState == 1 && campo_select!=null )	
		campo_select.options[0] = new Option( "Carregando Imagens ..." , 0  );	
	else
	// apenas quando o estado for "completado"
	if (http.readyState == 4)
	{
		// apenas se o servidor retornar "OK"
		if (http.status ==200)
		{			
			document.getElementById('divImagens').innerHTML = http.responseText;
		}
		else
		{
			alert("Houve um problema ao obter os dados:n" + http.statusText);
		}
	}
}

Ai coloca uma divImagens lá abaixo da tua combo de galeria.
E o arquivo que busca as imagens seria mais ou menos assim:

<?php
//HEADER PARA ARRUMAR O PROBLEMA DE ACENTUAÇÃO
header("Content-Type: text/html;  charset=ISO-8859-1;",true);
//INICIA A SESSÃO
session_start();
//CONECTA COM O BANCO DE DADOS			   
require_once("arquivoQueConectaNoBD.php");   

//RECEBE O ID DA CIDADE SELECIONADA
$galeriaID = $_GET["galeriaID"];

//COMECA A MONTAR O SELECT QUE VAI SER EXIBIDO NA TELA
echo '<select id="imagens"  name="imagens"><option value"0">Selecione</option>';

//SQL QUE SERÁ EXECUTADO PARA CONSULTAR OS BAIRROS QUE PERTENCEM A CIDADE SELECIONADA
$consulta = mysql_query( "SELECT * FROM  tb_imagens WHERE GALERIA_ID = ".$galeriaID );

//PERCORRE O RESULTADO DOS BAIRROS ENCONTRADOS
while( $row = mysql_fetch_assoc($consulta) )
{		
		echo '<option value="'. $row["id"] .'">'. $row["nome"] .'</option>';		
}
//FECHA NOSSO SELECT
echo '</select>';
?>

Acho que é isso, coloca na sua realidade e manda bala...

abraços




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq