Cita:
Iniciado por pedromir Muchas gracias a los dos, funciona perfectamente, ahora una última consulta, se puede, con php crear otro select dependiendo del primero y que al pinchar en el primer select, por ejemplo en perro, en el segundo select me aparezca mastin y doberman, en javascript lo tengo hecho, pero en php, estoy empezando, no se si se puede
se puede, solo que necesitas recolectar la informacion y acceder a ella, en javascript, las variables no se pierden, por que su proceso no termina hasta que refresquen la pagina o lo cierren, en caso de PHP, es al lineal, Inicia y termina.
sabiendo que php es lineal, para lograr lo que quieres, debes tener en cuenta ello.
asi que el proceso seria
- Crear tu array de datos
- Funcion que resiva los datos del formulario y del select
- crear una funciona que muestre el HTML correspondiente, osea el select
- mostrar un bucle recurrente y renderizar el html, dependiendo de como este tu array,matriz
en resumen seria algo asi
Código PHP:
<?php
$array_gatos=array(
'negro'=>array(
'label'=>'Gato negro'
),
'blanco'=>array(
'label'=>'Gato Blanco siames'
),
);
$datos=array(
"perros"=>array(
"label"=>'Perrors',
"lista"=>array(
'coocker'=>array(
"label" => 'perro orejas de salchicha'
),
'labrador'=>array(
"label" => 'perro Labrador'
)
)
),
"gatos"=>array(
"label"=>'Muchos gatos',
"lista"=>&$array_gatos
)
);
function crearSelect($arrayConFormato,$name_select='Nombre del valor del select',$default_id=''){
//es bueno tener comentado, en cada funcion un ejemplo de argumento
//$arrayConFormato=array('id'=>array("label"=>'texto_a_mmostrar') );
echo "<select name='$name_select'>";
foreach($arrayConFormato as $id => $array){
$seleccionado= $default_id==$id?'selected="selected"':'';//si esta opcion fue elegida
echo "<option value='$id' $seleccionado>".$array['label']." </option>";
}
echo "</select>";
}
echo "<form method='get'>";
//creamos el primer select
echo crearSelect($datos,'animales',@$_GET['animales']);
//Verificamos si escogio algun animal en el select
if(isset($_GET['animales'])){
echo "<br/>";
echo crearSelect($datos[$_GET['animales']]['lista'],$_GET['animales']);
}
echo "<br/>";
echo "<button>Enviar seleccion</button>";
echo "</form>";
pero bueno hacer un sistema asi donde el GUI es netamente en PHP, no es necesario en estos tiempo, debido a que la amyoria esta actualizando equipos y demas, excepto si quieres hacer una WEB para la deepWeb donde esta desactivado el javascript
para las demas cosas, yo te sugeriria que uses javascript en tema de manipulación de del interfaz