<?
/*************************************************************************************
/*************************************************************************************
**                             DropDrop Down multiuso								**
**----------------------------------------------------------------------------------**
**----------------------------------------------------------------------------------**
** Autor: ALex Piaz <webmaster@globalmap.com> 01/2001							 	**
**																				 	**
**																				 	**
** $tipo: Diz se vamos buscar o resultado em um database ou se vamos usar um array	**
**----------------------------------------------------------------------------------**
** $tipo = 1 -> array																**
** $tipo = 2 -> database Mysql														**
**----------------------------------------------------------------------------------**
** $query: Se tipo for 1, entra a� o array, se for 2, entra a query					**
**																					**
** A consulta ter� que ter sempre 2 par�metros de retorno, o que voc� deseja como id**
** � esquerda, o o label � direita.													**
**----------------------------------------------------------------------------------**
** $var -> vari�vel que confrontaremos com o resultado da query/array para que		**
**----------------------------------------------------------------------------------**
** o combo fique checado															**
** $nome_form -> O nome do combo													**
**----------------------------------------------------------------------------------**
** EXEMPLO																			**
**----------------------------------------------------------------------------------**
** $tipo = 1 -> Array e quero que a fruta ma�� seja selecionada						**
**																					**
** $query = array(\"Uva\",\"Ma��\",\"P�ra\");												**
** DropDown(1,$query,\"Ma��\",\"Frutas\");												**
** 																					**
** $tipo = 2 -> Mysql, quero definir um label est�tico								**
** Para definir um label est�tico, basta colocar # antes do texto, e jogar isso pra **
** vari�vel $var																	**
**																					**
** $query 		= \"SELECT id,nome FROM lista\";										**
** $var 		= \"#Escolha aqui o nome da pessoa\";									**
** $nome_form	= \"nomes\";															**
** //Chamando a fun��o:																**
** DropDown(2,$query,$var,$nome_form);												**
/*************************************************************************************
/*************************************************************************************
*/


function DropDown($tipo,$query,$var,$nome_form) {

//Imprimo o comeco do combo
print\"<select name=\\\"$nome_form\\\" size=\\\"1\\\">\\n\";

//Preparo o label, se tiver
if($var[0] == \"#\")://O cara n�o quer selecionar um item e quer um laber pro check
$label = substr($var,1,strlen($var));
		print\"<option selected>$label</option>\\n\";
endif;
//Vejo o tipo
if($tipo == 1): //Array
$lista = $query;
		while (list($key, $value) = each($lista)) {
			if($value == $var):
			$selected = \"selected\";
			else:
			$selected = \"\";
			endif;
		print\"<option value=\\\"$key\\\" $selected>$value</option>\\n\";
		}
elseif($tipo == 2): //Mysql
$result = mysql_query($query);
		while($row = mysql_fetch_row($result)) {
		if($row[0] == $var):
			$selected = \"selected\";
			else:
			$selected = \"\";
			endif;
			print\"<option value=\\\"$row[0]\\\" $selected>$row[1]</option>\\n\";
			}
endif;
print\"</select>\\n\";
}
?>
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
	<title>Drop Down Multuso</title>
</head>

<body>
<p>Esta fun&ccedil;&atilde;o php, desenvolvida por <a href=\"mailto:webmaster@globalmap.com\">Alex 
  Piaz</a> , foi projetada para facilitar a vida do programador na hora de 
  construir menus tipo drop-down que tenham que manter seu estado, ou n&atilde;o. 
  Ela aceita arrays ou querys no mysql como par&acirc;metro de compara&ccedil;&atilde;o 
  e label personalizado para o caso de voc&ecirc; n&atilde;o precisar usar o recurso 
  de manuten&ccedil;&atilde;o do estado. Voc&ecirc; pode fazer o que quiser com 
  este c&oacute;digo, ele &eacute; gr&aacute;tis e livre.</p>
<p>Exemplo com Array:<br><br>

<?

$bandas = array(\"1\"=>\"Rush\",\"2\"=>\"Enchant\",\"3\"=>\"Yes\",\"4\"=>\"Dream Theater\",\"5\"=>\"Marillion\",\"6\"=>\"Jethro Tull\");

?>

1.) Definindo um label<br><br>

<?

DropDown(1,$bandas,\"#O Rush � a melhor banda do planeta\",\"bandas\");

?>
<br><br>
2.) Pr�-checando um item<br><br>
<?

DropDown(1,$bandas,\"4\",\"bandas\");

?>

</p><hr noshade>

Exemplo com mysql (voc� vai precisar configurar o acesso a um db qualquer em seu servidor para ver isso funcionar):<br><br> 

<?
$query = \"SELECT qualquercoisa,maisoutra FROM qualquerlugar\";

DropDown(2,$query,\"#O Rush � a melhor banda do planeta\",\"o_nome_do_seu_form\");

?>

</body>
</html>