Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] comparar eleccion select multiple y array mostrando los coincidentes

Estas en el tema de comparar eleccion select multiple y array mostrando los coincidentes en el foro de PHP en Foros del Web. Hola a todos los foreros !!!. De nuevo tengo una duda, que creo que no es demasiado complicada, pero ya me he llevado unas horas ...
  #1 (permalink)  
Antiguo 12/02/2014, 15:07
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 9 meses
Puntos: 17
Pregunta comparar eleccion select multiple y array mostrando los coincidentes

Hola a todos los foreros !!!.

De nuevo tengo una duda, que creo que no es demasiado complicada, pero ya me he llevado unas horas buscando información sobre como resolver este ejercicio y no he podido encontrar nada, parecido si pero no se acopla.

La pregunta es esta.

Cita:
Se considera un array asociativo, representado en la siguiente tabla:

Nº cuenta Nombre Saldo Ciudad

2034056 Antonio Ruiz 1000 Madrid
3465748 Maria Torres 38000 Madrid
4768584 Javier Vaquero 25000 Sevilla
4876756 Laura Moreno 18000 Medina

a) Dado una ciudad en un select desplegable (con unas cuantas localidades), desde un formulario, visualizar el nombre y numeros de cuenta de los clientes
de esa localidad.
Si en el formulario el usuario activa un checkbox se visualiza también el saldo.
Bien ese es el enunciado, y hasta ahora he recorrido el array con 2 foreach, para poder ver los datos y mostrarlos, pero no consigo hacer la condición para dependiendo del elemento seleccionado en el SELECT me muestre los datos que la ciudad sea la seleccionada.

El código es este. 1 html y otro php.

Fichero: ejerc8.html
Código HTML:
Ver original
  1. <head> <title> Ejerci </title>
  2. </head>
  3.  
  4. <form name="form8" method="post" action="8.php">
  5.  
  6.     <h2>Formulario.</h2>   
  7.     <br/>  
  8.     Ciudad: <br/>  
  9.     <select name="ciudades" size=1>
  10.             <option value="Madrid"> Madrid </option>
  11.             <option value="Sevilla"> Sevilla </option>
  12.             <option value="Medina"> Medina </option>
  13.     </select>  
  14.    
  15.     Seleccione para ver el saldo:
  16.     <input type="checkbox" value="saldo" />
  17.        
  18.     <strong>Enviar el formulario.</strong><br/>
  19.     <input type="submit" name="enviar" value="Enviar" />
  20.  
  21. </form>
  22.  
  23. </body>
  24.  
  25. </html>

El formulario bien, ahora quiero saber como poder mostrar solo los datos que coincidan con la opción seleccionada en el select.

Fichero: 8.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. $array1 = array (
  4.                   array ("NumCuenta" => 2034056 , "Nombre" => "Antonio Ruiz", "Saldo" => 1000, "Ciudad" => "Madrid"),
  5.  
  6.                   array ("NumCuenta" => 3465748 , "Nombre" => "Maria Torres", "Saldo" => 38000, "Ciudad" => "Madrid"),
  7.  
  8.               array ("NumCuenta" => 4768584 , "Nombre" => "Javier Vaquero", "Saldo" => 25000, "Ciudad" => "Sevilla"),
  9.  
  10.               array ("NumCuenta" => 4876756 , "Nombre" => "Laura Moreno", "Saldo" => 18000, "Ciudad" => "Medina")
  11.                     ) ;
  12.  
  13. $ciudades = $_POST['ciudades'];     //Toma los valores del select
  14.  
  15.     function fun1 ($array1, $ciudades) {                   
  16.            
  17.             foreach ($array1 as $elemento) {           
  18.          
  19.                     foreach ($elemento as $key => $value) {
  20.                        
  21.                         //if ($array1['Ciudad'] == $ciudades) {
  22.                            
  23.                             echo $key . " es: " . $value . "&nbsp;<br/>";
  24.                     }
  25.             echo "<br/>";
  26.                         //}
  27.             }  
  28.     }
  29.  
  30. //Llamar la funcion
  31.  
  32. fun1 ($array1, $ciudades ) ;
  33.  
  34. ?>

Tengo comentado el if porque no he podido saber como hacer la coindición (SI ciudad_seleccionada = ciudad_del_array, que me muestre los datos.

Y por último el checkbox como se incluye en estas opciones, cuando estaa pulsado o no.

Saludos espero una ayuda!!! Y buenisima comunidad.!

__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1
  #2 (permalink)  
Antiguo 12/02/2014, 16:53
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: comparar eleccion select multiple y array mostrando los coincidentes

Código PHP:
Ver original
  1. <?php
  2.  
  3. $array1 = array(
  4.     array("NumCuenta" => 2034056, "Nombre" => "Antonio Ruiz", "Saldo" => 1000, "Ciudad" => "Madrid"),
  5.     array("NumCuenta" => 3465748, "Nombre" => "Maria Torres", "Saldo" => 38000, "Ciudad" => "Madrid"),
  6.     array("NumCuenta" => 4768584, "Nombre" => "Javier Vaquero", "Saldo" => 25000, "Ciudad" => "Sevilla"),
  7.     array("NumCuenta" => 4876756, "Nombre" => "Laura Moreno", "Saldo" => 18000, "Ciudad" => "Medina")
  8. );
  9. ?>
  10.  
  11. <form name="form8" method="post" action="">
  12.  
  13.     <h2>Formulario.</h2>    
  14.     <br/>  
  15.     Ciudad: <br/>  
  16.     <select name="ciudades" onchange="this.form.submit()">
  17.         <option value=""> Select </option>
  18.         <option value="Madrid"> Madrid </option>
  19.         <option value="Sevilla"> Sevilla </option>
  20.         <option value="Medina"> Medina </option>
  21.     </select>  
  22.  
  23.     Seleccione para ver el saldo:
  24.     <input type="checkbox" value="saldo" onchange="this.form.submit()" />
  25.  
  26.     <strong>Enviar el formulario.</strong><br/>
  27.     <input type="submit" name="enviar" value="Enviar" />
  28.  
  29. </form>
  30.  
  31. <?php
  32. if (isset($_POST["ciudades"])) {
  33.     $ciudad = $_POST["ciudades"];
  34.     $users = array();
  35.     foreach($array1 as $k=>$v){
  36.         if($ciudad === $array1[$k]["Ciudad"]){
  37.             $users[] = $array1[$k];
  38.         }
  39.     }
  40.     echo "<pre>";
  41.     print_r($users);
  42.     echo "</pre>";
  43. }

se seleccionas Madrid el resultado seria:
Código PHP:
Ver original
  1. (
  2.     [0] => Array
  3.         (
  4.             [NumCuenta] => 2034056
  5.             [Nombre] => Antonio Ruiz
  6.             [Saldo] => 1000
  7.             [Ciudad] => Madrid
  8.         )
  9.  
  10.     [1] => Array
  11.         (
  12.             [NumCuenta] => 3465748
  13.             [Nombre] => Maria Torres
  14.             [Saldo] => 38000
  15.             [Ciudad] => Madrid
  16.         )
  17.  
  18. )
__________________
cada vez que aprendes algo te crees que no sabes nada
  #3 (permalink)  
Antiguo 15/02/2014, 04:32
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 9 meses
Puntos: 17
Respuesta: comparar eleccion select multiple y array mostrando los coincidentes

Muchas gracias por tu ayuda con este ejercicio!!!
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1

Etiquetas: eleccion, formulario, html, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:13.