Autor Tema: Cómo rellenar un select de html con valores predefinidos PHP foreach  (Leído 4357 veces)

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Buenas, tengo creados dos arrays en php con sus respectivos valores, ¿como podria rellenarlos en dos select cada uno usando for, o for each?
« Última modificación: 15 de Abril 2017, 19:29 por Ogramar »

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #1 en: 15 de Febrero 2017, 17:53 »
He usado en un

Código: [Seleccionar]

foreach($array as $clave => $valor){

echo "$clave => $valor <br/>";

}


Esto me muestra los valores, pero como los meto en un select?

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #2 en: 16 de Febrero 2017, 15:47 »
Hola javimf.

Te dejo un ejemplo:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
    <title>https://www.aprenderaprogramar.com</title>
    <meta charset="UTF-8" />
   
</head>
<body>

    <select>
        <?php
            $arraySelect 
= array("león""pantera""tigre""leopardo""lince");
            foreach (
$arraySelect as $key => $value) {
                echo 
"<option value='".$value."'>$value</option>";
            }
        
?>

    </select>

</body>
</html>

También comentarte que tienes unos cuantos mensajes en los que se te contestó a tus dudas y no los respondiste, estaría bien que además de solicitar ayuda te molestases en responder si valió para algo o no la respuestas que te ofrecieron.

Saludos. ;D

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #3 en: 16 de Febrero 2017, 16:02 »
gracias, me sirivo de ayuda

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #4 en: 16 de Febrero 2017, 16:10 »
Ahora la duda que me surge es que si tengo los dos arrays creados y rellenados en los select, lo que me pide parte del ejercicio es esto:
 El usuario elegirá un director y un actor y le dará a un botón de formulario. Si el director y el actor seleccionados han trabajado juntos, se mostrará el nombre de la película en que lo han hecho. Sino, se mostrará un mensaje diciendo “No se ha encontrado ninguna película con este actor y este director”.

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #5 en: 16 de Febrero 2017, 16:24 »
Lo que tendrías que hacer es recuperar el valor seleccionado en los select y hacer una búsqueda en donde tengas almacenadas las películas. Si aportas más información sobre el ejercicio podré concretar más, todo dependerá donde halla que buscar la información de las películas (base de datos, archivo, array, etc.).

Saludos. ;D

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #6 en: 16 de Febrero 2017, 16:29 »
De momento este es lo que llevo
Código: [Seleccionar]
<?php

$directores 
= array();
$directores ["1"] = "Martin Scorsese";
$directores ["2"] = "Tim Burton"
$directores ["3"] = "Hermanos Coen";
$directores ["4"] = "Wes Anderson";
$directores ["5"] = "Quentin Tarantino";
$directores ["6"] = "Paul Thomas Anderson";
$directores ["7"] = "Pedro Almodovar";
$directores ["8"] = "Woody Allen";



$actores= array();
$acotres ["1"] = "Robert De Niro";
$actores ["2"] = "Jonny Depp"
$actores ["3"] = "Frances McDormand";
$actores ["4"] = "Bill Murray";
$actores ["5"] = "Samuel L. Jackson";
$actores ["6"] = "Philip Seymour Hoffman";
$actores ["7"] = "Penelope Cruz";
$actores ["8"] = "Scarlet Johansson";



$peliculas= array("Pulp Fiction","Volver","Scoop","Slepy Hollow","Boggie Nights","Taxi Driver"," El Gran Hotel Budapest","Fargo");
    foreach(
$directores  as $clave => $valor){

echo "$clave => $valor<br/>";


}

?>


la parte primera del enunciado es esta:

 un programa que guarde en un array nombres de directores de cine, en otro array nombres de actores, y en otro nombre de películas. Los dos primeros arrays rellenarán dos menús desplegables (select en HTML

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #7 en: 16 de Febrero 2017, 17:40 »
¿Y donde estaría la información de los actores que trabajan en una película?

¿En otro array?

¿Tiene que ser con PHP?¿O esta comprobación puede resolverse con Ajax?

Saludos. ;D
« Última modificación: 16 de Febrero 2017, 17:53 por pedro,, »

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #8 en: 16 de Febrero 2017, 18:44 »
si estan en otro array
Código: [Seleccionar]
$actores= array();
$acotres ["1"] = "Robert De Niro";
$actores ["2"] = "Jonny Depp";
$actores ["3"] = "Frances McDormand";
$actores ["4"] = "Bill Murray";
$actores ["5"] = "Samuel L. Jackson";
$actores ["6"] = "Philip Seymour Hoffman";
$actores ["7"] = "Penelope Cruz";
$actores ["8"] = "Scarlet Johansson";


Si tiene que ser con PHP

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #9 en: 16 de Febrero 2017, 21:35 »
Lo he puesto todo en el mismo archivo, a ver si te vale:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
    <title>https://www.aprenderaprogramar.com</title>
    <meta charset="UTF-8" />
   
</head>
<body>
    <?php


        $directores 
= array();
        
$directores ["1"] = "Martin Scorsese";
        
$directores ["2"] = "Tim Burton"
        
$directores ["3"] = "Joel Coen";
        
$directores ["4"] = "Wes Anderson";
        
$directores ["5"] = "Quentin Tarantino";
        
$directores ["6"] = "Paul Thomas Anderson";
        
$directores ["7"] = "Pedro Almodóvar";
        
$directores ["8"] = "Woody Allen";

        
$actores= array();
        
$actores ["1"] = "Bill Murray";
        
$actores ["2"] = "Johnny Depp"
        
$actores ["3"] = "Frances McDormand";
        
$actores ["4"] = "Robert De Niro";
        
$actores ["5"] = "Samuel L. Jackson";
        
$actores ["6"] = "Philip Seymour Hoffman";
        
$actores ["7"] = "Penélope Cruz";
        
$actores ["8"] = "Scarlett Johansson";

        
$peliculas= array(
            
"Pulp Fiction" => array("director" => "Quentin Tarantino",
                                    
"actores" => array("John Travolta""Samuel L. Jackson""Uma Thruman")),
            
"Volver" => array("director" => "Pedro Almodóvar",
                              
"actores" => array("Penélope Cruz""Carmen Maura""Chus Lampreave")),
            
"Scoop" => array("director" => "Woody Allen",
                             
"actores" => array("Woody Allen""Scarlett Johansson""Hugh Jackman")),
            
"Sleepy Hollow" => array("director" => "Tim Burton",
                                     
"actores" => array("Johnny Depp""Christina Ricci""Miranda Richardson")),
            
"Boggie Nights" => array("director" => "Paul Thomas Anderson",
                                     
"actores" => array("Mark Wahlberg""Julianne Moore""Burt Reynolds""Philip Seymour Hoffman")),
            
"Taxi Driver" => array("director" => "Martin Scorsese"
                                   
"actores" => array("Robert De Niro""Cybill Shepherd""Jodie Foster")),
            
"El Gran Hotel Budapest" => array("director" => "Wes Anderson"
                                              
"actores" => array("Ralph Fiennes""Bill Murray""Saoirse Ronan")),
            
"Fargo" => array("director" => "Joel Coen"
                             
"actores" => array("Frances McDormand""William H. Macy""Steve Buscemi"))
        );
    
?>

    <form action="pruebas.php" method="POST">
        <h3>Directores</h3>
        <select name="directores" >
            <?php
                
foreach ($directores as $key => $value) {
                    echo 
"<option value='".$value."'>$value</option>";
                }
            
?>

        </select>
        <h3>Actores</h3>
        <select name="actores" >
            <?php
                
foreach ($actores as $key => $value) {
                    echo 
"<option value='".$value."'>$value</option>";

                }
            
?>

        </select>
        <input type="submit" value="submit">
    </form>
    <?php
        
if(isset($_POST["directores"])) {
            
$director $_POST["directores"];
            
$actor $_POST["actores"];
            
$estaDirector false;
            
$coinciden false;
            
$resultado "";
            foreach (
$peliculas as $pelicula => $contenidoPelicula) {
                foreach (
$contenidoPelicula as $key => $value2) {
                    if(
$value2 == $director) {
                        
$estaDirector true;
                    } elseif(
$key == "actores" && $estaDirector) {
                        foreach (
$value2 as $key3 => $value3) {
                            if(
$actor == $value3){
                               
$resultado $pelicula;
                               
$coinciden true;
                            }
                        }
                        
$estaDirector false;
                    }
                }
            }
            if(
$coinciden) {
                echo 
"<br/>El director $director y el actor $actor coincidieron en la película $resultado.";
            } else {
                echo 
"<br/>El director $director y el actor $actor no han coincidido en ninguna película.";
            }
        }
        
    
?>

</body>
</html>



Saludos. ;D

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Re:como rellenar un select de html
« Respuesta #10 en: 16 de Febrero 2017, 22:08 »
excelente , funciona bien ;)

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".