Foros del Web » Programando para Internet » PHP »

mostrar array en tabla html

Estas en el tema de mostrar array en tabla html en el foro de PHP en Foros del Web. buen dia, agradezco su apoyo con mi duda, les comento: tengo un formulario en php y html que forma una matriz de 6 por 10, ...
  #1 (permalink)  
Antiguo 27/03/2012, 12:40
 
Fecha de Ingreso: diciembre-2011
Mensajes: 90
Antigüedad: 8 años
Puntos: 0
mostrar array en tabla html

buen dia,

agradezco su apoyo con mi duda, les comento:

tengo un formulario en php y html que forma una matriz de 6 por 10, (con listas desplegables y checkbox) y requiero que al puchar en "enviar" me mande esta informacion a una pantalla de php pero me lo muestre en una tabla con el mismo formato de la matriz de 6 por 10, pero el problema que tengo es que me muestra un dato por linea html osea me muestra algo asi como
<table>
<tr><td> dato </td></tr>
<tr><td></tr><td> dato </td></tr>
<tr><td></tr><<td></tr><td> dato </td></tr>
<tr><td></tr><<td></tr><<td></tr><<td> dato </td></tr>
...
</table>

mi codigo son los siguientes:

Código PHP:
if ( isset( $_POST['guardar'] ) ) 

    echo 
'<table border="2" width="800" align="center" >
                <tr color="#c0c0c0"><td>NOMBRE DE LA EMPRESA</td><td>GM</td><td>FORD</td><td>CHRYSLER</td><td>NISSAN</td><td>HONDA</td></tr>'
;
          
    foreach ( 
$_POST['guardar'] as $dato )  
    { 
        
// here you have access to $diam['top'] and $diam['bottom'] 
     
echo '<tr>';
        echo 
'<td>'$dato['name'].'</td>'
        echo 
'<td>'$dato['gm'].'</td>'
        echo 
'<td>'$dato['f'].'</td>'
        echo 
'<td>'$dato['c'].'</td>'
        echo 
'<td>'$dato['n'].'</td>'
        echo 
'<td>'$dato['h'].'</td>';
     echo 
'</tr>';   
    } 
      
    echo 
'</table>'

muchas gracias

los campos en el formulario que mando tienen el siguiente identificador:

Código PHP:
echo '<select name="guardar[][name]" >';
<
input type="checkbox" name="guardar[][gm]" value="si"/> 

Última edición por yamsita; 27/03/2012 a las 13:06
  #2 (permalink)  
Antiguo 27/03/2012, 13:44
 
Fecha de Ingreso: septiembre-2008
Ubicación: Xirivella,Valencia
Mensajes: 112
Antigüedad: 11 años, 2 meses
Puntos: 13
Respuesta: mostrar array en tabla html

Puedes poner todo el código?
  #3 (permalink)  
Antiguo 27/03/2012, 13:51
 
Fecha de Ingreso: diciembre-2011
Mensajes: 90
Antigüedad: 8 años
Puntos: 0
Respuesta: mostrar array en tabla html

primer pagina donde selecciono los parametros a enviar

Código PHP:
<?php

//Asistentes al evento
echo '<table width="840" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="173" rowspan="2" bgcolor="#C0C0C0"><img src="http://www.forosdelweb.com/f18/imagenes/eventos.png" width="173" height="44" /></td>
    <td width="667" bgcolor="#505050"><strong>&nbsp;&nbsp;<span class="Estilo28">&nbsp;</span></strong><span class="Estilo1 Estilo28"><strong><font face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff" size="1">BIENVENIDO</font></strong> 
    </td>
    <td width="139" bgcolor="#505050"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff"> 
    </font></div></td>
  </tr>
  <tr>
    <td colspan="7" height="18" bgcolor="#ECECEC"></td>
   </tr>
  <tr>
    <td height="7" colspan="3" bgcolor="#C0C0C0"></td>
  </tr>
</table>'
;
echo 
'<table width="840" align="center" border="1" cellspacing="0" cellpadding="0">
<form id="form" name="form" method="post" action="insertar.php">
  <tr>
    <td colspan="7" width="830" bgcolor="#c0c0c0"><div align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font face="Verdana" size="2">Agendeo</td></tr>
    <br/>'
;
echo 
'<tr>';
echo 
'<td bgcolor="#E0E0E0"><font face="Verdana" size="1"><div align="center">No.</div></font></td><td bgcolor="#E0E0E0" width="153"><font face="Verdana" size="1"><div align="center">Nombre de la empresa</div></font></td><td bgcolor="#E0E0E0"><font face="Verdana" size="1"><div align="center">GM</div></font></td><td bgcolor="#E0E0E0"><font face="Verdana" size="1"><div align="center">FORD</div></font></td><td bgcolor="#E0E0E0"><font face="Verdana" size="1"><div align="center">CHRYSLER</div></font></td><td bgcolor="#E0E0E0" width="153"><font face="Verdana" size="1"><div align="center">NISSAN</div></font></td><td bgcolor="#E0E0E0" width="153"><font face="Verdana" size="1"><div align="center">HONDA</div></font></td>';
echo 
'</tr>';  
$S=1;
WHILE (
$S<11){
$query mysql_query("SELECT Empresa FROM Proveedor_DG WHERE Id<18");
$n 1;
echo 
'<tr><td><div align="center"><font face="Verdana" size="1">'.$S.'</font></div></td><td><font face="Verdana" size="1">';
    echo 
'<select name="guardar[][0]" >';
while (
$row mysql_fetch_array($query)){
    echo
'<option value="'.$row[0].'">'.$row[0].'</option>';
    
$n++;
}
       echo
' </select>
        </font></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[][1]" value="si"/></font></div></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[][2]" value="si"/></font></div></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[][3]" value="si"/></font></div></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[][4]" value="si"/></font></div></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[][5]" value="si"/></font></div></td></tr>'
;
$S++;
}
echo 
'
    <tr><td colspan="7"><div align="center"><input type="submit" name="button" id="button" value="Enviar" /></div></td></tr>

    '
;
echo 
'</form></table>';
mysql_error();
?>
segunda pagina que recibe las variables y las muestra

Código PHP:
<?php

echo '<table width="820" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="173" rowspan="2" bgcolor="#C0C0C0"><img src="http://www.forosdelweb.com/f18/imagenes/png" width="173" height="44" /></td>
    <td width="667" bgcolor="#505050"><strong>&nbsp;&nbsp;<span class="Estilo28">&nbsp;</span></strong><span class="Estilo1 Estilo28"><strong><font face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff" size="1">BIENVENIDO</font></strong> 
    </td>
    <td width="139" bgcolor="#505050"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff"> 
    </font></div></td>
  </tr>
  <tr>
    <td colspan="2" height="18" bgcolor="#ECECEC"></td>
   </tr>
  <tr>
    <td height="7" colspan="3" bgcolor="#C0C0C0"></td>
  </tr>
</table>'
;
echo 
'<table width="820" align="center" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td colspan="5" width="830" bgcolor="#c0c0c0"><div align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font face="Verdana" size="2">Agendeo</td></tr>
    <br/>'
;
  
if ( isset( 
$_POST['guardar'] ) ) 

    echo 
'<table border="1" width="820" align="center" >
                <tr><td bgcolor="#C6C6C6">NOMBRE DE LA EMPRESA</td><td bgcolor="#C6C6C6">GM</td><td bgcolor="#C6C6C6">FORD</td><td bgcolor="#C6C6C6">CHRYSLER</td><td bgcolor="#C6C6C6">NISSAN</td><td bgcolor="#C6C6C6">HONDA</td></tr>'
;
          
    foreach ( 
$_POST['guardar'] as $dato )  
    { 
        
// here you have access to $diam['top'] and $diam['bottom'] 
     
echo '<tr>';
        echo 
'<td bgcolor="#eeeeee">',$dato[0],'</td>'
        echo 
'<td bgcolor="#eeeeee">',$dato[1],'</td>'
        echo 
'<td bgcolor="#eeeeee">',$dato[2],'</td>'
        echo 
'<td bgcolor="#eeeeee">',$dato[3],'</td>'
        echo 
'<td bgcolor="#eeeeee">',$dato[4],'</td>'
        echo 
'<td bgcolor="#eeeeee">',$dato[5],'</td>';        
      echo 
'</tr>';  

    } 
    echo 
'<tr><td colspan="6" bgcolor="#c0c0c0"></td></tr>'
    echo 
'</table>'


?>
  #4 (permalink)  
Antiguo 29/03/2012, 07:07
 
Fecha de Ingreso: septiembre-2008
Ubicación: Xirivella,Valencia
Mensajes: 112
Antigüedad: 11 años, 2 meses
Puntos: 13
Respuesta: mostrar array en tabla html

Hola Yamsita, gracias por enviarme el código completo. Creo que he encontrado el problema, mira este código y busca las diferencias.
Si no las encuentras o no sabés el por qué dímelo.

echo '<tr><td><div align="center"><font face="Verdana" size="1">'.$S.'</font></div></td><td><font face="Verdana" size="1">';
echo '<select name="guardar[' .$S. '][0]" >';
while ($row = mysql_fetch_array($query)){
echo'<option value="'.$row[0].'">'.$row[0].'</option>';
$n++;
}
echo' </select>
</font></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[' .$S. '][1]" value="si"/></font></div></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[' .$S. '][2]" value="si"/></font></div></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[' .$S. '][3]" value="si"/></font></div></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[' .$S. '][4]" value="si"/></font></div></td><td><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="guardar[' .$S. '][5]" value="si"/></font></div></td></tr>';
$S++;
}

Espero no fastidiarte haciendo que lo busques tú, creo que se aprende más haciendolo uno mismo, de todas formas, como ya te he dicho, te lo explico enseguida.

Un saludo!
  #5 (permalink)  
Antiguo 29/03/2012, 07:09
 
Fecha de Ingreso: septiembre-2008
Ubicación: Xirivella,Valencia
Mensajes: 112
Antigüedad: 11 años, 2 meses
Puntos: 13
Respuesta: mostrar array en tabla html

Lo siento, se me ha olvidado algo.

Sería buena idea que filtraras los datos de los chekbox para evitar los espacios vacios.

Au!
  #6 (permalink)  
Antiguo 02/04/2012, 12:33
 
Fecha de Ingreso: diciembre-2011
Mensajes: 90
Antigüedad: 8 años
Puntos: 0
Respuesta: mostrar array en tabla html

hola fontanares, mil gracias por el seguimiento a mi tema, si despues vi que mi error, era al mandar el array cierto? solo mandaba la ultima cadena... fortunadamente pude verlo. y si lo hice masomenos como me comentas pero con una funcion, te comparto el codigo a ver que tal, la verdad soy nueva en esto de los array y si se me complico un poco, pero muchas gracias por tu ayuda enserio!! aparte agradezco la atencion de tu respuesta

Código PHP:
function empresas($f$n){
echo
'<tr><td><font face="verdana" size="1">'.$n.'</font></tr><td>';
      
$query mysql_query("SELECT Empresa FROM tabla WHERE Id<41");
                echo 
'<select name="dato['.$f.'][name]">
                        <option value="">-SELECCIONE UNA EMPRESA-</option>'
;
            while (
$row mysql_fetch_array($query)){
                 echo
'<option value="'.$row[0].'">'.$row[0].'</option>';
                }
                  echo
' </select>';
                
echo 
'</td><td width="110"><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="dato['.$f.'][g]" value="SI"/></font></div></td><td width="110"><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="dato['.$f.'][f]" value="SI"/></font></div></td><td width="110"><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="dato['.$f.'][c]" value="SI"/></font></div></td><td width="110"><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="dato['.$f.'][n]" value="SI"/></font></div></td><td width="110"><div align="center"><font face="Verdana" size="1"> <input type="checkbox" name="dato['.$f.'][h]" value="SI"/></font></div></td></tr>';


y asi lo llame

Código PHP:
$f 0;
$n=1;
while (
$f10){
empresas($f$n);
$f++;
$n++;

gracias y que te parecio mi primer avance con los array..... gracias!
  #7 (permalink)  
Antiguo 03/04/2012, 12:39
 
Fecha de Ingreso: septiembre-2008
Ubicación: Xirivella,Valencia
Mensajes: 112
Antigüedad: 11 años, 2 meses
Puntos: 13
Respuesta: mostrar array en tabla html

Hola de nuevo,
La verdad es que por unos dias no tengo acceso a mi pc y no podré comprobar el código.
Lo que hacias mal era que usas una matriz bidimensional del tipo $a[c][d] y solo accedias a
$a[0][0],$a[0][1],$a[0][2],etc. Ya que el primer parametro se lo pasabas cómo una constante (0) solo te devolvia los campos del primer registro ( osea el 0)
Lo necesario para extraer todos es usar una variable para el primer parametro y un bucle para recorrer todos los resultados.
  #8 (permalink)  
Antiguo 19/04/2012, 18:40
 
Fecha de Ingreso: diciembre-2011
Mensajes: 90
Antigüedad: 8 años
Puntos: 0
Respuesta: mostrar array en tabla html

hola fontanares un gusto nuevamente, si vi mi error y ya pude solucuionar todo eso, pero ahora tengo otro problema.

como puedo hacer que los elementos de mi array multidimensional cambien para que no se repitan en la misma fila, osea no debo tener ningun elemento igual en la misma fila.

gracias por tu ayuda :D!
  #9 (permalink)  
Antiguo 30/04/2012, 07:00
 
Fecha de Ingreso: septiembre-2008
Ubicación: Xirivella,Valencia
Mensajes: 112
Antigüedad: 11 años, 2 meses
Puntos: 13
Respuesta: mostrar array en tabla html

Hola de nuevo,
no entiendo a qué te refieres.

Ponme un ejemplo.

Si puedes haz una captura de una pantalla y me explicas qué pasa y cómo quieres solucionarlo.

Gracias.

Etiquetas: formulario, html, 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 21:09.