PHP - Realizar una tabla con array y llenar los espacio recorriendolo con un foreach

 
Vista:
Imágen de perfil de Gustavo
Val: 8
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

Realizar una tabla con array y llenar los espacio recorriendolo con un foreach

Publicado por Gustavo (5 intervenciones) el 08/07/2018 17:58:24
Buenas tardes amigos.
La verdad me han colocado un trabajo en PHP que busca llenar una tabla de 4x6 en donde se llene cada fila de la tabla con unos recorridos del foreach
Uno de los puntos dice "Use el ciclo foreach para recorrer el arreglo y presetar todos los datos organizads en una tabla, con una fila para cada una de las personas del listado y una columna para cada dato; tenga en cuenta que la tabla contenga titulos para cada columna"
Aqui coloco lo que tengo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<body>
<table border="1" align="center">
    <thead>
        <tr>
            <?php
              $array = array("Nombre ","Dirección ","Teléfono ","Fecha de cumpleaños "
                  ,"Color favorito ","Significado");
                foreach ($array as $colores => $coloresResibidos) {
                  echo '<th>'.$coloresResibidos.'</th>';
                }
            ?>
        </tr>
    </thead>
    <tbody>
        <tr>
            <?php
            $array = array("Juan Perez","Cra 45 #45-56","3456789","23/12/1997"
                ,"Amarillo","Riqueza y alegria");
            foreach ($array as $juanPerez => $juanRecibido){
                echo '<td>'.$juanRecibido.'</td>';
            }
            ?>
        </tr>
        <tr>
            <?php
            $array = array("Nancy Peña","Av. 34 #16-12","2135423","07/06/2000"
                ,"Rojo","No se encuentra el significado");
            foreach ($array as $nancyPeña => $nancyRecibido){
                echo '<td>'.$nancyRecibido.'</td>';
            }
            ?>
        </tr>
        <tr>
            <?php
            $array = array("Pablo Manrrique","Cra 23 #12-19 Sur","3214567","12/10/1980"
                ,"Verde","No se encuentra el significado");
            foreach ($array as $pabloManrrique => $pabloRecibido){
                echo '<td>'.$pabloRecibido.'</td>';
            }
            ?>
        </tr>
    </tbody>
</table>

Pero en otro punto del problema dice "En el registro de cada persona del listado, es preciso que el sistema evalue si el nombre del color exite en un segundo arreglo que contiene: el nombre del color y el significado de cada uno, en caso de encontrarlo, es necesario escribir en una ultima colomna de la tabla 1 el significado del color, de lo contrario debe escribir la frase "no se encuentra el significado"

y ahí es cuando empiezo a padecer puesto que yo no lo coloco en un array diferente sino que lo coloco en el mismo array de la persona porque la verdad no se como imprimir los elemento de un array en colomnas


Les agradezco si me colaboran
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Realizar una tabla con array y llenar los espacio recorriendolo con un foreach

Publicado por xve (6935 intervenciones) el 08/07/2018 20:44:02
Hola Gustavo, la verdad no me queda del todo claro lo que tienes que hacer con el tema de los colores, ya que en el código que nos muestras, los tres colores son diferentes!!!

Según entiendo yo, lo que tienes que hacer, es primeramente obtener los colores de todos los arreglos, antes de imprimir la tabla... puede ser? pero los arreglos los generas para cada fila de la tabla... no acabo de entender...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gustavo
Val: 8
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

Realizar una tabla con array y llenar los espacio recorriendolo con un foreach

Publicado por Gustavo (5 intervenciones) el 08/07/2018 21:14:42
Esto fue lo que me pidieron xve

Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Realizar una tabla con array y llenar los espacio recorriendolo con un foreach

Publicado por xve (6935 intervenciones) el 09/07/2018 08:15:33
Hola Gustavo, he modificado un poco tu código para mostrarlo como yo lo entiendo... hace lo que solicitan en el ejercicio... haber si te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
</head>
 
<body>
 
<?php
$valores=array(
    array("Juan Perez","Cra 45 #45-56","3456789","23/12/1997","Amarillo","Riqueza y alegria"),
    array("Nancy Peña","Av. 34 #16-12","2135423","07/06/2000","Rojo",""),
    array("Pablo Manrrique","Cra 23 #12-19 Sur","3214567","12/10/1980","Verde",""),
    array("xve","Cra 23 #12-19 Sur","3214567","12/10/1980","Amarillo","")
);
$colores=array();
 
// obtenemos los colores
foreach ($valores as $array){
    if($array[5])
    {
        $colores[$array[4]]=$array[5];
    }
}
 
// rellenamos los colores sin significado
for($i=0;$i<count($valores);$i++){
    if($valores[$i][5]=="" && array_key_exists($valores[$i][4], $colores))
    {
        $valores[$i][5]=$colores[$valores[$i][4]];
    }
}
?>
 
<table border="1" align="center">
    <thead>
        <tr>
            <?php
              $array = array("Nombre ","Dirección ","Teléfono ","Fecha de cumpleaños ","Color favorito ","Significado");
                foreach ($array as $valor) {
                  echo '<th>'.$valor.'</th>';
                }
            ?>
        </tr>
    </thead>
    <tbody>
        <?php
        // obtenemos los colores
        foreach ($valores as $array){
            echo "<tr>";
                foreach($array as $contenido)
                {
                    echo "<td>".$contenido."</td>";
                }
            echo "</tr>";
        }
        ?>
    </tbody>
</table>
 
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Realizar una tabla con array y llenar los espacio recorriendolo con un foreach

Publicado por Oscar (1 intervención) el 25/05/2020 06:41:23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!DOCTYPE html>
<html>
    <head>
        <title>Unidad 2 - Ejemplo 8 - 1</title>
        <meta http-equiv="Content-Type"
              content="text/html; charset=ISO-8859-1" />
    </head>
    <body>
        <h3>Taller: Uso de arreglos</h3>
        <?php
             $Colores = array (
              "Amarillo" => "Riqueza y Alegria",
              "Verde" => "Naturaleza",
             );
          $Directorio = array (
            array("Nombre","Dirección","Teléfono","Fecha de Cumpleaños","Color Favorito","Significado"),
            array("Oscar","Cl 4 No. 13 - 90",8311128,"01/08/1998","Amarillo"),
            array("Diana","Cr 34 No. 89 - 90",8235841,"02/08/1995","Verde"),
            array("Diego","Av 34 No. 78 - 90",8358479,"02/07/1994","Cafe"),
           );
 
         for($i=1;$i<4;$i++){
            $color=$Directorio[$i][4];
              if(empty($Colores[$color])){
                  $Directorio[$i][5]='No se encuentra el significado';
              }
 else {
            $Directorio[$i][5]=$Colores[$color];
 
 
 
             }
               }
          ?>
<html>
         <table border="2" width="50%" cellspacing="0">
            <?php
             foreach ($Directorio as $fila){
                echo "<tr>";
                   foreach ($fila as $celda){
                   echo "<td> $celda </td>";
                }
        echo "</tr>";
        }
?>
        </table>
</html>
    </body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Realizar una tabla con array y llenar los espacio recorriendolo con un foreach

Publicado por German (1 intervención) el 28/08/2020 20:08:13
me podrias colaborar dandome una pequeña explicacion de esta parte del codigo

1
2
3
4
5
6
7
for($i=1;$i<4;$i++){
    $color=$Directorio[$i][4];
      if(empty($Colores[$color])){
          $Directorio[$i][5]='No se encuentra el significado';
      }
else {
    $Directorio[$i][5]=$Colores[$color];

GRacias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar