Foros del Web » Programando para Internet » PHP »

Problema al imprimir un Array almacenado en una Tabla MySql

Estas en el tema de Problema al imprimir un Array almacenado en una Tabla MySql en el foro de PHP en Foros del Web. Hola amigos! espero que estén bien. Mi problema es que no puedo imprimir un Array en pantalla (dentro de una tabla para ser más preciso), ...
  #1 (permalink)  
Antiguo 02/08/2006, 19:29
 
Fecha de Ingreso: agosto-2006
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Problema al imprimir un Array almacenado en una Tabla MySql

Hola amigos! espero que estén bien. Mi problema es que no puedo imprimir un Array en pantalla (dentro de una tabla para ser más preciso), me explico:
hice una tabla con 2 campos, uno es "id" y el otro es "Productos" donde se almacenan los datos, tengo un script (formulario) para capturar los datos, otro Script para procesarlos (insertarlos en la tabla correspondiente) y hasta ahí todo perfecto, sólo que el script para listar en pantalla el contenido del Array no me funciona bien, pues sólo me muestra los id's pero no me muestra los contenidos del Array en cuestión, es decir, me hace la tabla con sus 2 columnas, y en una me pone todos los id's de los registros que he capturado, pero en la otra en lugra de poner los datos del Array me aparece en blanco ...miren, para ser más preciso les muestro el código del script que me da el error:

Código PHP:
<? require("required.php"); ?>  
<table border="1">
    <tr>
        <td>ID</td>
        <td>Productos</td>
    </tr>

<?
    $SQL
=mysql_query("SELECT * FROM prueba ORDER BY id");
        while(
$row=mysql_fetch_array($SQL)){  
?>
    <tr <?=($i++%2)? "bgcolor='#ffffff":"bgcolor='#fff000'" ?> > <!-- para meterle color a las filas-->
    <td><?=$row['id'];?></td>
    <td><?=$row=unserialize($productos['productos']);?></td>
</tr>
<? /*se cierra la llave de arriba*/ ?> 
</table>
¿cómo ven? en dónde puede estar el error?, les garadezco de antemano su valiosa ayuda y su atención
  #2 (permalink)  
Antiguo 02/08/2006, 19:52
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 15 años, 10 meses
Puntos: 43
¿no seria mejor?
<?=unserialize($row['productos']);?>
  #3 (permalink)  
Antiguo 02/08/2006, 23:24
 
Fecha de Ingreso: agosto-2006
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Hola Genetix , muchas gracias por tu consejo, ya lo intenté y sigue igual
  #4 (permalink)  
Antiguo 02/08/2006, 23:47
Avatar de BreCkver  
Fecha de Ingreso: enero-2006
Ubicación: Mexico, D.F.
Mensajes: 96
Antigüedad: 11 años, 11 meses
Puntos: 0
Hola:

para mi el problema esta en la siguiente linea:
<tr <?=($i++%2)? "bgcolor='#ffffff":"bgcolor='#fff000'" ?>
porque segun el codigo, interpreto no esta definida ó inicializada la variable; por que no utilizas:


Código PHP:
$i=0;
while($row=mysql_fetch_array($SQL)){  
?>
       $i++;
    <tr <?=(($i%2) != 0)? "bgcolor='#ffffff":"bgcolor='#fff000'" ?> > 
    //lo demas
<? /*se cierra la llave de arriba*/ ?>

:: espero haber ayudado
__________________

:-D No solo soy mexicano también soy del Politécnico :arriba:

  #5 (permalink)  
Antiguo 03/08/2006, 04:21
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
Mejor hazlo asi:

Código PHP:
<? require("required.php");  
echo 
"<table border='1'> 
    <tr> 
        <td>ID</td> 
        <td>Productos</td> 
    </tr> "
;

$SQL=mysql_query("SELECT * FROM prueba ORDER BY id"); 
while(
$row=mysql_fetch_array($SQL))
{   
  echo 
"<tr bgcolor='#ffffff' bgcolor='#fff000'> 
    <td>"
.$row['id']."</td> 
    <td>"
.unserialize($productos['productos'])."</td> 
</tr>"

///se cierra la llave de arriba
echo "</table> ";

?>

sigo sin saber para que haces esto en negrita:

"<tr <?=($i++%2)? "bgcolor='#ffffff":"bgcolor='#fff000'" ?>

asi que no lo puse....

y como no se de donde viene esto:

$productos['productos']

ahi tampoco te puedo ayudar.. por lo demas..si usas ese codigo que te puse funciona.
__________________
ALOZORRO v5.0 (ahora en .es)
  #6 (permalink)  
Antiguo 03/08/2006, 06:03
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
Holas,

Fijate en tu escript, imaginemos que entra tu array serializado en tu tabla, imagino que si, pero cuando lo sacas, el campo de este array, es el array $row, que sale de tu while($row=mysql_fetch_array($SQL))
. asi pues el array del campo productos seria , $productos = unserialize($row['productos']) , si intentas imprimir la variable $productos, te saldra en pantalla Array, pq es un array, esta variable (Array) $productos la tienes de desplegar con un bucle, sea foreach, for , etc,

Prueba a hacer despues de definir $productos,

echo "<pre>";
print_r($productos);
echo "</pre>";

con esto veras como de desplega el array,

Luego por supuesto no puedes volver a definir la variable $row, pues la defines while($row=mysql_fetch_array($SQL)) aqui, si la vuelves a redefinir el while no sigue

Espero que te sirva
Un saludo
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.
Tema Cerrado




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