Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/10/2019, 11:44
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 7 meses
Puntos: 120
Respuesta: No mostrar valores duplicados en un array multidimensional

Cita:
Iniciado por pedromir Ver Mensaje
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
  1. Crear tu array de datos
  2. Funcion que resiva los datos del formulario y del select
  3. crear una funciona que muestre el HTML correspondiente, osea el select
  4. 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
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9