Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio7»

De WikiEducator
Saltar a: navegación, buscar
 
Línea 1: Línea 1:
{{MRM_Actividad|Title=Ejercicio 7 : Array multinivel|
+
{{MRM_Actividad|Title=Ejercicio 7 : Accesos de usuario|
;Vamos a realizar un recorrido de un array asociativo de varios niveles.
+
;Creamos una aplicación dónde los usuarios se identifican (una caja de texto para identificarse)
:Realizaremos un estudio del array y luego lo recorreremos
+
:Luego iremos contando cada vez que un usuario hace un click
 
+
<!--
;Dado un fichero que contiene un array asociativo
+
{{Plegable|hide|Posible solución|
;El array contiene información de cantantes y de cada cantante su nombre, su década y canciones que tiene
+
:Se trata que trabajes en dos aspectos que se complementas
+
#Entender y explicar el contenido del array, es decir si es asociativo o indexado y los indices que tiene. Si una posición es un array a su vez procedemos a explicarlo igualmente
+
#Posteriormente lo recorreremos mostrando información de los cantantes y para cantante sus canciones
+
::Para hacer esta parte facilito un pequeño css y consistiría en aplicar el div cantante y el div canciones
+
 
+
;Ficheros
+
 
+
[http://es.wikieducator.org/images/7/71/Artista.pdf  Artista.pdf] Este fichero es un css para el ejercicios
+
[[/Usuario:ManuelRomero/php/dwes/B2T1/arrays/ejercicios|Contenido del ArrayAsociativo.php]]
+
{{Plegable|hide|datos.php|
+
 
<source lang=php>
 
<source lang=php>
 
<?php
 
<?php
 
+
//Si hemos dado a enviar leemos el nombre de usuario y los accesos anteriores (Array nombre:entero acceso
$artistas = array(
+
if (isset($_POST['enviar'])) {
    185711 => array(
+
    $nombre = $_POST['nombre'];
        "name" => 'Pearl Jam',
+
     $accesos = $_POST['accesos']; //La primera vez estará vacíon
        "decades" => '(1990,2000)',
+
     $accesos[$nombre] ++; //Agregamos en el array el nombre y el acceso actual
        "link" => 'http://www.mp3.com/search.php?stype=artist&query=Pearl+Jam&action=Search',
+
                          //Esta instrucción si no existe ese nombre en el array lo crea
        "songs" => array(
+
                          //Si sí que existe, accede a él e incremente a uno su contenido
            array(
+
                          //               (nombre es el índice del array)
                "title" => 'NO WAY',
+
}
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/yield/03-no_way.mp3',
+
            ),
+
            array(
+
                "title" => 'HUMMUS',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/yield/14-hummus.mp3',
+
            ),
+
            array(
+
                "title" => 'LEASH',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/vs./11-leash.mp3',
+
            ),
+
            array(
+
                "title" => 'GIVEN TO FLY',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/10-given_to_fly.mp3',
+
            ),
+
            array(
+
                "title" => 'NOTHING AS IT SEEMS',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/13-nothing_as_it_seems.mp3',
+
            ),
+
            array(
+
                "title" => 'SAVE YOU',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/16-save_you.mp3',
+
            ),
+
            array(
+
                "title" => 'EVEN FLOW',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/03-even_flow.mp3',
+
            ),
+
            array(
+
                "title" => 'ANIMAL',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/06-animal.mp3',
+
            ),
+
            array(
+
                "title" => 'REARVIEWMIRROR',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/09-rearviewmirror.mp3',
+
            ),
+
            array(
+
                "title" => 'SPIN THE BLACK CIRCLE',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/10-spin_the_black_circle.mp3',
+
            ),
+
        )
+
     ),
+
    32841 => array(
+
        "name" => 'Bo Diddley',
+
        "decades" => '(1950,1960,1970,1980,1990,2000)',
+
        "city" => 'McComb',
+
        "country" => 'US',
+
        "link" => 'http://www.mp3.com/search.php?stype=artist&query=Bo+Diddley&action=Search',
+
        "songs" => array(
+
            array(
+
                "title" => 'WHO DO YOU LOVE?',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/guitar_legends/03-who_do_you_love%3F.mp3',
+
            ),
+
            array(
+
                "title" => 'ROAD RUNNER',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/guitar_legends/06-road_runner.mp3',
+
            ),
+
            array(
+
                "title" => 'YOU CAN\'T JUDGE A BOOK BY IT\'S COVER',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/guitar_legends/08-you_can_t_judge_a_book_by_it_s_c.mp3',
+
            ),
+
            array(
+
                "title" => 'OOH BABY',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/guitar_legends/10-ooh_baby.mp3',
+
            ),
+
            array(
+
                "title" => 'DIDDLEY DADDY',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/martin_scorsese_presents_the_blu/14-diddley_daddy.mp3',
+
            ),
+
            array(
+
                "title" => 'WHO DO YOU LOVE',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/martin_scorsese_presents_the_blu/19-who_do_you_love.mp3',
+
            ),
+
            array(
+
                "title" => 'I\'M A MAN',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/chess_blues_classics_1947_-_1956/12-i_m_a_man.mp3',
+
            ),
+
        ),
+
     ),
+
    84062 => array(
+
        "name" => 'The Cult',
+
        "decades" => '(1980,1990,2000)',
+
        "city" => 'Bradford',
+
        "country" => 'GB',
+
        "link" => 'http://www.mp3.com/search.php?stype=artist&query=The+Cult&action=Search',
+
        "songs" => array(
+
            array(
+
                "title" => 'THE WITCH (EDIT)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/05-the_witch_edit.mp3',
+
            ),
+
            array(
+
                "title" => 'REVOLUTION (EDIT)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/06-revolution_edit.mp3',
+
            ),
+
            array(
+
                "title" => 'LOVE REMOVAL MACHINE',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/07-love_removal_machine.mp3',
+
            ),
+
            array(
+
                "title" => 'RAIN',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/08-rain.mp3',
+
            ),
+
            array(
+
                "title" => 'IN THE CLOUDS',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/09-in_the_clouds.mp3',
+
            ),
+
            array(
+
                "title" => 'COMING DOWN (EDIT)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/10-coming_down_edit.mp3',
+
            ),
+
            array(
+
                "title" => 'EDIE (CIAO BABY) [EDIT]',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/11-edie_ciao_baby_%5Bedit%5D.mp3',
+
            ),
+
            array(
+
                "title" => 'HEART OF SOUL (EDIT)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/12-heart_of_soul_edit.mp3',
+
            ),
+
            array(
+
                "title" => 'WILD FLOWER',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/13-wild_flower.mp3',
+
            ),
+
            array(
+
                "title" => 'STAR (EDIT)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/14-star_edit.mp3',
+
            ),
+
        ),
+
    ),
+
    84430 => array(
+
        "name" => 'Twisted Sister',
+
        "decades" => '(1970,1980)',
+
        "link" => 'http://www.mp3.com/search.php?stype=artist&query=Twisted+Sister&action=Search',
+
        "songs" => array(
+
            array(
+
                "title" => 'LET THE GOOD TIMES ROLL/FEEL SO FINE (LIVE)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/16-let_the_good_times_roll_feel_so_.mp3',
+
            ),
+
            array(
+
                "title" => 'THE KIDS ARE BACK',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/06-the_kids_are_back.mp3',
+
            ),
+
            array(
+
                "title" => 'I AM (I\'M ME)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/03-i_am_i_m_me.mp3',
+
            ),
+
            array(
+
                "title" => 'YOU CAN\'T STOP ROCK \'N ROLL',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/05-you_can_t_stop_rock_n_roll.mp3',
+
            ),
+
            array(
+
                "title" => 'I WANNA ROCK',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/02-i_wanna_rock.mp3',
+
            ),
+
            array(
+
                "title" => 'I\'LL NEVER GROW UP, NOW!',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/09-i_ll_never_grow_up_now!.mp3',
+
            ),
+
            array(
+
                "title" => 'WE\'RE NOT GONNA TAKE IT',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/feel_the_noiz_-_the_best_of_meta/01-we_re_not_gonna_take_it.mp3',
+
            ),
+
            array(
+
                "title" => 'THE PRICE',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/feel_the_love_-_the_best_of_powe/12-the_price.mp3',
+
            ),
+
            array(
+
                "title" => 'LIKE A KNIFE IN THE BACK',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/you_can_t_stop_rock_n_roll/02-like_a_knife_in_the_back.mp3',
+
            ),
+
            array(
+
                "title" => 'RIDE TO LIVE, LIVE TO RIDE',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/you_can_t_stop_rock_n_roll/03-ride_to_live_live_to_ride.mp3',
+
            ),
+
        ),
+
    ),
+
    84221 => array(
+
        "name" => 'The New York Dolls',
+
        "decades" => '(1970)',
+
        "city" => 'New York',
+
        "country" => 'US',
+
        "link" => 'http://www.mp3.com/search.php?stype=artist&query=The+New+York+Dolls&action=Search',
+
        "songs" => array(
+
            array(
+
                "title" => 'HOOCHIE COOCHIE MAN',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/16-hoochie_coochie_man.mp3',
+
            ),
+
            array(
+
                "title" => 'GREAT BIG KISS',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/17-great_big_kiss.mp3',
+
            ),
+
            array(
+
                "title" => 'VIETNAMESE BABY',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/18-vietnamese_baby.mp3',
+
            ),
+
            array(
+
                "title" => 'BABYLON',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/19-babylon.mp3',
+
            ),
+
            array(
+
                "title" => 'RED PLANET LEATHER (LIVE)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/01-red_planet_leather_live.mp3',
+
            ),
+
            array(
+
                "title" => 'ON FIRE (LIVE)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/02-on_fire_live.mp3',
+
            ),
+
            array(
+
                "title" => 'SOMETHING ELSE (LIVE)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/03-something_else_live.mp3',
+
            ),
+
            array(
+
                "title" => 'DADDY ROLLING STONE (LIVE)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/04-daddy_rolling_stone_live.mp3',
+
            ),
+
            array(
+
                "title" => 'AIN\'T GOT NO HOME / DIZZY MISS LIZZIE (LIVE)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/05-ain_t_got_no_home_dizzy_miss_liz.mp3',
+
            ),
+
            array(
+
                "title" => 'GIRLS, GIRLS GIRLS (LIVE)',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/06-girls_girls_girls_live.mp3',
+
            ),
+
        ),
+
    ),
+
    118504 => array(
+
        "name" => 'Marc Bolan',
+
        "decades" => '(1960,1970)',
+
        "city" => 'London',
+
        "country" => 'GB',
+
        "link" => 'http://www.mp3.com/search.php?stype=artist&query=Marc+Bolan&action=Search',
+
        "songs" => array(
+
            array(
+
                "title" => 'JASPER C. DEBUSSY',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/01-jasper_c._debussy.mp3',
+
            ),
+
            array(
+
                "title" => 'HIPPY GUMBO',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/02-hippy_gumbo.mp3',
+
            ),
+
            array(
+
                "title" => 'MISFIT',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/03-misfit.mp3',
+
            ),
+
            array(
+
                "title" => 'THE LILAC HAND OF MENTHOL DAN',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/04-the_lilac_hand_of_menthol_dan.mp3',
+
            ),
+
            array(
+
                "title" => 'BLACK AND WHITE INCIDENT',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/05-black_and_white_incident.mp3',
+
            ),
+
            array(
+
                "title" => 'JASMINE \'49',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/06-jasmine_49.mp3',
+
            ),
+
            array(
+
                "title" => 'CAT BLACK',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/07-cat_black.mp3',
+
            ),
+
            array(
+
                "title" => 'YOU GOT THE POWER',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/08-you_got_the_power.mp3',
+
            ),
+
            array(
+
                "title" => 'EASTERN SPELL',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/09-eastern_spell.mp3',
+
            ),
+
            array(
+
                "title" => 'CHARLIE',
+
                "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/10-charlie.mp3',
+
            ),
+
        ),
+
    ),
+
);
+
 
?>
 
?>
 +
<!doctype html>
 +
<html lang="en">
 +
    <head>
 +
        <meta charset="UTF-8">
 +
        <title>Document</title>
 +
    </head>
 +
    <body>
 +
        <form action="index.php" method=POST>
  
 +
            Usuario <input type="text" name="nombre" id="">
 +
            <?php
 +
            //Mostramos el array
 +
            foreach ($accesos as $nombre => $acceso)
 +
                echo "<input type='hidden' name= accesos[$nombre]  value = $acceso>\n"
 +
                ?>
  
 
+
            <input type="submit" value="Acceder" name="enviar">
 +
        </form>
 +
        <?php
 +
        //Guardamos el array para leerlo la próxima vez
 +
        if (isset($accesos))
 +
            foreach ($accesos as $nombre => $acceso)
 +
                echo "<h1> $nombre : $acceso </h1>\n";
 +
        ?>
 +
    </body>
 +
</html>
 
</source>
 
</source>
  
 
}}
 
}}
 
+
-->
;Para ver el array una buena forma es cargarlo en un fichero php y hacer o bien un '''''var_dump''''' o bien un '''''print_r'''''
+
 
+
<source lang=php>
+
<?php
+
 
+
require_once ("datos.php");
+
 
+
var_dump( $artistas );
+
 
+
 
+
?>
+
</source>
+
*A partir de él podemos mostrar la siguiente imagen que describe el aray
+
[[Imagen:arrayComplejo.png]]
+
*Observamos que en primera instancia tengo un array asociativo  de 6 índices cuyos valores son
+
'''''185711, 32841, 84062, 84430, 84221, 118504'''''
+
*Cada posición tiene como valor un array asociativo de 4 posiciones cuyos índices tiene los valores
+
'''''name decades link canciones'''''
+
*La posición '''''name''''' directamente tiene un valor string que es el nombre del artista
+
*La posición '''''decades'''''  tiene un valor string que es la década de ese cantante
+
*La posición '''''link''''' tiene un valor string que es un url a una página con información sobre el artista
+
*La posición '''''canciones''''' es un array indexado de tantas posicione como canciones tenga el artista
+
*Cada posición del array indexado canciones  es un array asociativo con dos índices
+
'''''title link'''''
+
*La posición '''''title''''' es un string con el título de la canción
+
*La posición '''''link''''' es un string con un url donde se puede oir la canción (Actualmente ya no están alojadas en esa posición)
+
 
}}
 
}}

Última revisión de 11:14 10 nov 2020


Icon activity.jpg
Ejercicio 7 : Accesos de usuario
Creamos una aplicación dónde los usuarios se identifican (una caja de texto para identificarse)
Luego iremos contando cada vez que un usuario hace un click