Foros del Web » Programando para Internet » PHP »

Crear una fila por cada producto

Estas en el tema de Crear una fila por cada producto en el foro de PHP en Foros del Web. Hola gente, soy yo de nuevo intentando a mejorar mi php jej. Mi siguiente duda es, como ingresar los datos recibidos desde una base de ...
  #1 (permalink)  
Antiguo 05/04/2009, 15:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años
Puntos: 1
Crear una fila por cada producto

Hola gente, soy yo de nuevo intentando a mejorar mi php jej. Mi siguiente duda es, como ingresar los datos recibidos desde una base de datos, a una tabla html, para que por cada producto se cree una fila nueva asi me qeda por fila la foto el nombre del producto el precio etc. Yo ahora les dejo la parte de mi codigo que no funciona muy bien para ver si me pueden dar una mano.

Código PHP:
<html>
<head>
<title>CAT&Aacute;LOGO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<table align=center>
<table width='150' height='100' border='0'>
 <?php

  
for($i=0;$row=mysql_fetch_assoc($qry);$i++){




echo 
"  <tr>";
echo 
"    <td width='100'>$row[$i]</td>";
echo 
" </tr> ";




  }
  
?>

</table>
   
    

</body>
</html>
Al generar ese codigo no sucede nada, pero al usar este me salen los datos pero desordeandos
Código PHP:
 while($row=mysql_fetch_assoc($qry)){
echo 
$row['producto']."<br>";
echo 
$row['precio']."<br>";


echo 
$row['descripcion']."<br>";
echo 
"<img border='0' widht='100' height='75' src='images/"$row['fotos']. "'><br>";
echo 
$row['categoria']."<br>";

Mucha gracias :)
  #2 (permalink)  
Antiguo 05/04/2009, 15:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear una fila por cada producto

¿dos <table/>???

primero, te sugiero aprendas mas de HTML .... ya que sin eso, es imposible que sepas que sucede...

basicamente, es por que no usas bien el for()

Código PHP:
for (;$row=mysql_fetch_assoc($qry);)
// while ($row=mysql_fetch_assoc($qry)) - identico al for()
{
  
var_dump($row);

luego, lee este tema, seguro te sirve...

http://www.forosdelweb.com/f18/aport...tablas-618528/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/04/2009, 15:35
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años
Puntos: 1
Respuesta: Crear una fila por cada producto

Gracias por la respeusta voy a probar lo q me dijiste. Pero que significa el var_dump?
  #4 (permalink)  
Antiguo 05/04/2009, 15:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear una fila por cada producto

siempre, lee y busca en el manual de PHP

http://php.net/var_dump

básicamente, imprime la información estructural de una variable...

así, conoces como "atacar" una variable gracias a como esta estructurada....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 05/04/2009, 16:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años
Puntos: 1
Respuesta: Crear una fila por cada producto

gracias nuevamente, le voy a hechar una leida:)

EDIT = Estuve leyendo y aplique el var_dump, pero lo unico que me duvuelve es

array(6) { ["id"]=> string(1) "1" ["producto"]=> string(14) "Cartas Bycicle" ["precio"]=> string(2) "20" ["descripcion"]=> string(23) "La cartas mas efectivas" ["fotos"]=> string(7) "bic.jpg" ["categoria"]=> string(6) "cartas" } bool(true) array(6) { ["id"]=> string(1) "2" ["producto"]=> string(18) "Caja agarra cartas" ["precio"]=> string(1) "5" ["descripcion"]=> string(27) "Cajas de plastico sintetico" ["fotos"]=> string(8) "caja.jpg" ["categoria"]=> string(6) "cartas" } bool(true)

La verdad me esta costando manejar las variables con esto.
Si alguien me ayudar, lo agradezco

Última edición por matucasal; 05/04/2009 a las 17:01
  #6 (permalink)  
Antiguo 05/04/2009, 18:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 5
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Crear una fila por cada producto

Buenas noches,

Prueba de esta forma no deberias tener problemas

Código PHP:
echo "<table width='200' height='100' border='0'>";
    
$rs mysql_query($ssql,$link); 
    while (
$row mysql_fetch_array($rsMYSQL_ASSOC)){
       echo 
"<tr>";
            echo 
"<td>".$row['producto']."</td>";         
            echo 
"<td>".$row['precio']."</td>";           
            echo 
"<td>".$row['descripcion']."</td>";
            echo 
"<td><img border='0' widht='100' height='75' src='images/".$row['fotos']."'></td>";
            echo 
"<td>".$row['categoria']."</td>";
           echo 
"</tr>";
          } 
//FIN DEL WHILE
    
echo "</table>"
Espero te sirva
  #7 (permalink)  
Antiguo 06/04/2009, 03:39
Avatar de BlogInn  
Fecha de Ingreso: febrero-2009
Mensajes: 79
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Crear una fila por cada producto

Yo en mi caso lo tengo asi:

Código PHP:
<?php      

   
while($row mysql_fetch_array($result)) {
$id $row["serial"];

      
printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s</td><td>&nbsp;%s</td><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s</td><td>&nbsp;%s&nbsp; €</td><td>&nbsp;%s&nbsp;</td></tr>",$row["tipo"], $row["serial"],$row["modelo"],$row["gases"], $row["empresa"],$row["lugar"],$row["dia"],$row["mes"], $row["year"], $row["precio"],$id);
   }
   
mysql_free_result($result);
   
mysql_close($link);
?>
donde ves $row["loquesea"] debes cambiar ese lo que sea por el nombre de tu atributo de la base de datos, como verás hay tantos <td>&nbsp;%s&nbsp;</td> como columnas muestro, si quieres ampliar o reducir el numero de estas debes quitarlos o ponerlos.

Un saludo y espero que te sirva!!!

EDITO!!! Me acabo de dar cuenta que es basicamente igual que el que pone smpptelecom unicamente que él escribe los datos en la tabla mientras la creo y yo la creo y despues la relleno.
  #8 (permalink)  
Antiguo 06/04/2009, 08:05
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años
Puntos: 1
Respuesta: Crear una fila por cada producto

Yo lo termine resolviendo de otra manera pero gracias. Dejo el codigo por si alguno le sirve, o por si meven algun error y se lo puede mejorar.
Código PHP:
<table width='150' height='100' border='1'>
 <?php

  
for($i=0;$row=mysql_fetch_assoc($qry);$i++){


  
?>
  <table width='656' height='100' border='1' frame="void">
  <tr>
   <td width="117"><div align="center"><?php
echo "<img width='97' height='75' border='0' align='absmiddle' widht='100' src='images/"$row['fotos']. "'>"
?>
<br>
    </div></td>
 <td width="481"><p align="center" class="Estilo1"><?php echo $row['producto']."<br>";?></p>
<p align="center"><strong><?php echo "$" .$row['precio'?></strong></p>
<p align="center"><?php echo $row['descripcion'?></p>
 <p align="center"><a href="#" class="Estilo2">Comprar ahora</a></p>


</td>
  </tr>
</table>
  #9 (permalink)  
Antiguo 06/04/2009, 09:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear una fila por cada producto

pues mi primer observación....

NO anides dos tablas!!!

abres una fuera del while() y esta bien, pero dentro NO lo hagas....

de ahí en fuera, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 06/04/2009, 12:42
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años
Puntos: 1
Respuesta: Crear una fila por cada producto

Igual anide dos tablas porque neceisto una tabla dentro de la otra. Por eso lo hice
  #11 (permalink)  
Antiguo 06/04/2009, 13:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Crear una fila por cada producto

Esa no es la forma correcta de hacerlo, si ves el markup de HTML, la forma correcta es:
Código html:
Ver original
  1.       <tbody>
  2.              <tr>
  3.                    <td>
  4.                            <table><!-- otra tabla --></table>
  5.                    </td>
  6.              </tr>
  7.        </tbody>

Saludos.
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 11:14.