Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/06/2011, 13:20
Qualito
 
Fecha de Ingreso: febrero-2006
Mensajes: 104
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: 04 Select dependientes con link a una página

Estimado maycoalvarez

Lo que tu sugieres ya lo he visto y es esto me parece:
http://www.forosdelweb.com/f13/selec...pagina-232842/
Pero ese caso es para selects estáticos sin BD, el mío es dinámico, los option estan en una tabla mysql, osea no se ven los option al inicio en el file php, por ende no puedo colocar lo que sugieres, tal cual lo expliqué en el primer post.

Me han comentado que debo crear un nuevo campo en mi tabla (BD) denominado url al lado del campo opción, de esa manera fila por fila opción por opción colocarle la URL a la cual deseo linkee. Ya lo hice. Luego que en el evento select del combo 4 asocie un java script que abra una nueva pagina php a la cual le envíe como parámetro la opción seleccionada y en ese php abra la pagina según esa opción. Esa es lo que no sé cómo hacer. Gracias de todos modos.

Espero estimados amigos por favor alguna orientación
Dejo abajo el código del file php
Slds
Qualito


Este es el select_dependientes_3_niveles_proceso.php
Código:
<?php
// Array que vincula los IDs de los selects declarados en el HTML con el nombre de la tabla donde se encuentra su contenido
$listadoSelects=array(
"select1"=>"select_1",
"select2"=>"select_2",
"select3"=>"select_3",
"select4"=>"select_4"
);

function validaSelect($selectDestino)
{
	// Se valida que el select enviado via GET exista
	global $listadoSelects;
	if(isset($listadoSelects[$selectDestino])) return true;
	else return false;
}

function validaOpcion($opcionSeleccionada)
{
	// Se valida que la opcion seleccionada por el usuario en el select tenga un valor numerico
	if(is_numeric($opcionSeleccionada)) return true;
	else return false;
}

$selectDestino=$_GET["select"]; $opcionSeleccionada=$_GET["opcion"];

if(validaSelect($selectDestino) && validaOpcion($opcionSeleccionada))
{
	$tabla=$listadoSelects[$selectDestino];
	include 'conexion.php';
	conectar();
	$consulta=mysql_query("SELECT id, opcion FROM $tabla WHERE relacion='$opcionSeleccionada'") or die(mysql_error());
	desconectar();
	
	// Comienzo a imprimir el select
	echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
	echo "<option value='0'>Elige</option>";
	while($registro=mysql_fetch_row($consulta))
	{
		// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
		$registro[1]=htmlentities($registro[1]);
		// Imprimo las opciones del select
		echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
	}			
	echo "</select>";
}
?>

...y este es select_dependientes_3_niveles.php que muestra la web con los select

Código:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>AJAX, Ejemplos: Combos (select) dependientes de 3 niveles, codigo fuente - ejemplo</title>
<link rel="stylesheet" type="text/css" href="select_dependientes_3_niveles.css">
<script type="text/javascript" src="select_dependientes_3_niveles.js"></script>
</head>

<body>

			<div id="demo" style="width:800px;">
				<div id="demoDer">
					<select enable="eneble" name="select4" id="select4">
						<option value="0">Selecciona opci&oacute;n...</option>
					</select>
				</div>
				<div id="demoDer">
					<select enable="eneble" name="select3" id="select3">
						<option value="0">Selecciona opci&oacute;n...</option>
					</select>
				</div>
				<div id="demoMed">
					<select enable="eneble" name="select2" id="select2">
						<option value="0">Selecciona opci&oacute;n...</option>
					</select>
				</div>
				<div id="demoIzq"><?php generaSelect(); ?></div>
			</div>

</body>
</html>

Muchas Gracias
Q