Foros del Web » Programando para Internet » PHP »

-Problema para recorrer consulta??

Estas en el tema de -Problema para recorrer consulta?? en el foro de PHP en Foros del Web. Hola a todos buen día mi problema es específicamente lo que dice el titulo, no se en que parte de mi código colocar mi recorrido, ...
  #1 (permalink)  
Antiguo 07/06/2011, 09:44
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 12 años, 10 meses
Puntos: 2
-Problema para recorrer consulta??

Hola a todos buen día mi problema es específicamente lo que dice el titulo, no se en que parte de mi código colocar mi recorrido, estoy haciendo un reporte de php a pdf, y todo lo hace muy bien salvo el recorrido, y por lo tanto solo me muestra en el pdf el ultimo registro, a continuación les dejo mi código espero alguien pueda ayudarme gracias y que tengan un buen día.

Código PHP:
Ver original
  1. <?php
  2. require_once('html2pdf/html2pdf.class.php');
  3. $html2pdf = new HTML2PDF('1','Letter','es', false, 'ISO-8859-15', array(0, 0, 0, 0));
  4. //conexion a la base
  5. $conexion=mysql_connect('localhost','root','')or die("IMPOSIBLE CONECTARSE AL SERVIDOR");
  6. $base=mysql_select_db('aceros_anglo',$conexion)or die("IMPOSIBLE CONECTARSE A LA BASE");
  7. $c="SELECT * FROM productos";
  8. $res=mysql_query($c);
  9. $filas=mysql_num_rows($res);
  10. for($y=0;$y<$filas;$y++) //Aqui recorro mi consulta, pero la cierre donde la cierre solo me da el ultimo registro
  11.   {
  12.    $nombre=mysql_result($res,$y,'nombre');
  13.    $idp=mysql_result($res,$y,'idp');
  14.    $existencia=mysql_result($res,$y,'existencia');
  15.   }
  16. /******CABECERA******///
  17. $html="<table border='1' align='center'>
  18.            <tr>
  19.                <td bgcolor='DimGray'><font color= 'white'>Clave del producto</font></td>
  20.                <td bgcolor='DimGray'><font color= 'white'>Nombre del producto</font></td>
  21.                <td bgcolor='DimGray'><font color= 'white'>Existencias</font></td>
  22.            </tr>";
  23.    
  24. $html.="<tr>
  25.            <td bgcolor='#CCCCCC'><b>".$idp."</b></td>
  26.            <td bgcolor='#CCCCCC'><b>".$nombre."</b></td>
  27.            <td bgcolor='#CCCCCC'><b>".$existencia."</b></td>";
  28. $html.= "</tr></table>";
  29. $html2pdf->WriteHTML($html);
  30. $html2pdf->Output('Nombre_de_tu_PDF.pdf','I');
  31. ?>
  #2 (permalink)  
Antiguo 07/06/2011, 09:50
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: -Problema para recorrer consulta??

pues yo creo que por aqui debe ir un while


Código PHP:

html
.="<tr> 
           while(sdfsafasdf) { ya hay tu busca el resto

            <td bgcolor='#CCCCCC'><b>"
.$idp."</b></td>
            <td bgcolor='#CCCCCC'><b>"
.$nombre."</b></td>
            <td bgcolor='#CCCCCC'><b>"
.$existencia."</b></td>";


$html.= "</tr> 
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #3 (permalink)  
Antiguo 07/06/2011, 09:51
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 1 mes
Puntos: 96
Respuesta: -Problema para recorrer consulta??

Saludos

Podría ser de la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2. require_once('html2pdf/html2pdf.class.php');
  3. $html2pdf = new HTML2PDF('1', 'Letter', 'es', false, 'ISO-8859-15', array(0, 0, 0, 0));
  4. //conexion a la base
  5. $conexion = mysql_connect('localhost', 'root', '') or die("IMPOSIBLE CONECTARSE AL SERVIDOR");
  6. $base = mysql_select_db('aceros_anglo', $conexion) or die("IMPOSIBLE CONECTARSE A LA BASE");
  7. $c = "SELECT * FROM productos";
  8. $res = mysql_query($c);
  9. $filas = mysql_num_rows($res);
  10. if ($filas > 0) {
  11.     /*     * ****CABECERA***** *///
  12.     $html = "<table border='1' align='center'>
  13.            <tr>
  14.                <td bgcolor='DimGray'><font color= 'white'>Clave del producto</font></td>
  15.                <td bgcolor='DimGray'><font color= 'white'>Nombre del producto</font></td>
  16.                <td bgcolor='DimGray'><font color= 'white'>Existencias</font></td>
  17.            </tr>";
  18.  
  19.  
  20.     while ($row = mysql_fetch_array($res)) {
  21.         $nombre = $row['nombre'];
  22.         $idp = $row['idp'];
  23.         $existencia = $row['existencia'];
  24.         $html.="<tr>
  25.            <td bgcolor='#CCCCCC'><b>" . $idp . "</b></td>
  26.            <td bgcolor='#CCCCCC'><b>" . $nombre . "</b></td>
  27.            <td bgcolor='#CCCCCC'><b>" . $existencia . "</b></td>";
  28.  
  29.         $html.= "</tr>";
  30.     }
  31.     $html.= "</table>";
  32. }
  33. $html2pdf->WriteHTML($html);
  34. $html2pdf->Output('Nombre_de_tu_PDF.pdf', 'I');
  35. ?>
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 07/06/2011, 09:52
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 2 meses
Puntos: 209
Respuesta: -Problema para recorrer consulta??

for($y=0;$y<$filas;$y++) //Aqui recorro mi consulta, pero la cierre donde la cierre solo me da el ultimo registro
{
$nombre=mysql_result($res,$y,'nombre');
$idp=mysql_result($res,$y,'idp');
$existencia=mysql_result($res,$y,'existencia');
}

estas asignando siempre el nuevo valor a esas variables, por lo que se queda con la ultima, tienes que guardarlo en un array.

$nombre[$y] = etc etc, y asi para los 3 o y mejor aun


$html="<table border='1' align='center'>
<tr>
<td bgcolor='DimGray'><font color= 'white'>Clave del producto</font></td>
<td bgcolor='DimGray'><font color= 'white'>Nombre del producto</font></td>
<td bgcolor='DimGray'><font color= 'white'>Existencias</font></td>
</tr>";

while ($row = mysql_fetch_array($res))
{
$html .=' <tr>
<td bgcolor='#CCCCCC'><b>".$idp."</b></td>
<td bgcolor='#CCCCCC'><b>".$nombre."</b></td>
<td bgcolor='#CCCCCC'><b>".$existencia."</b></td>';
}
$html.= "</tr></table>";
  #5 (permalink)  
Antiguo 07/06/2011, 09:52
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 2 meses
Puntos: 46
Respuesta: -Problema para recorrer consulta??

Hola.

en lugar de hacerlo con un for y el result hazlo con un while y un fetch_array como en los ejemplos de php.net

Suerte.
  #6 (permalink)  
Antiguo 07/06/2011, 10:01
Avatar de ActerMarking  
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 2
De acuerdo Respuesta: -Problema para recorrer consulta??

Cita:
<?php
require_once('html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('1','Letter','es', false, 'ISO-8859-15', array(0, 0, 0, 0));
//conexion a la base
$conexion=mysql_connect('localhost','root','')or die("IMPOSIBLE CONECTARSE AL SERVIDOR");
$base=mysql_select_db('aceros_anglo',$conexion)or die("IMPOSIBLE CONECTARSE A LA BASE");
$c="SELECT * FROM productos";
$res=mysql_query($c);
$filas=mysql_num_rows($res);
for($y=0;$y<$filas;$y++) //Aqui recorro mi consulta, pero la cierre donde la cierre solo me da el ultimo registro
{
$nombre=mysql_result($res,$y,'nombre');
$idp=mysql_result($res,$y,'idp');
$existencia=mysql_result($res,$y,'existencia');
}
/******CABECERA******///
Pues la verdad existe muchas manera de recorrer ya que todos los programadores tienen sus propios estilos y a como le salga el codigo pues
la verdad yo lo hiciera con while o el mismo for con muchos pero podemos enforcarnos en while que es mayoristas en estos trabajos al igual que for :)

puedes usarlo de esta manera
Código PHP:
Ver original
  1. $res=mysql_query($c);
  2. /*
  3. List()  : funciona como un operador de asignación muy bueno!
  4. */
  5. while(list($nombre,$idp,$existencia) = mysql_fetch_array($res)){
  6.          $n = $nombre;
  7.          $i  = $ipd;
  8.          $e = $existencia;
  9. }
  #7 (permalink)  
Antiguo 07/06/2011, 10:03
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 2 meses
Puntos: 209
Respuesta: -Problema para recorrer consulta??

claro está para gustos los colores, ya le dimos las vías, que el decida
  #8 (permalink)  
Antiguo 07/06/2011, 10:08
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: -Problema para recorrer consulta??

Cita:
Iniciado por Nano_ Ver Mensaje
Saludos

Podría ser de la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2. require_once('html2pdf/html2pdf.class.php');
  3. $html2pdf = new HTML2PDF('1', 'Letter', 'es', false, 'ISO-8859-15', array(0, 0, 0, 0));
  4. //conexion a la base
  5. $conexion = mysql_connect('localhost', 'root', '') or die("IMPOSIBLE CONECTARSE AL SERVIDOR");
  6. $base = mysql_select_db('aceros_anglo', $conexion) or die("IMPOSIBLE CONECTARSE A LA BASE");
  7. $c = "SELECT * FROM productos";
  8. $res = mysql_query($c);
  9. $filas = mysql_num_rows($res);
  10. if ($filas > 0) {
  11.     /*     * ****CABECERA***** *///
  12.     $html = "<table border='1' align='center'>
  13.            <tr>
  14.                <td bgcolor='DimGray'><font color= 'white'>Clave del producto</font></td>
  15.                <td bgcolor='DimGray'><font color= 'white'>Nombre del producto</font></td>
  16.                <td bgcolor='DimGray'><font color= 'white'>Existencias</font></td>
  17.            </tr>";
  18.  
  19.  
  20.     while ($row = mysql_fetch_array($res)) {
  21.         $nombre = $row['nombre'];
  22.         $idp = $row['idp'];
  23.         $existencia = $row['existencia'];
  24.         $html.="<tr>
  25.            <td bgcolor='#CCCCCC'><b>" . $idp . "</b></td>
  26.            <td bgcolor='#CCCCCC'><b>" . $nombre . "</b></td>
  27.            <td bgcolor='#CCCCCC'><b>" . $existencia . "</b></td>";
  28.  
  29.         $html.= "</tr>";
  30.     }
  31.     $html.= "</table>";
  32. }
  33. $html2pdf->WriteHTML($html);
  34. $html2pdf->Output('Nombre_de_tu_PDF.pdf', 'I');
  35. ?>
Eres un geniecillo master, primer intento y listo ya quedo resuelto gracias... hay esta tu karma, y gracias al resto pero les gano jejeje
  #9 (permalink)  
Antiguo 07/06/2011, 10:13
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 2 meses
Puntos: 209
Respuesta: -Problema para recorrer consulta??

jaja ok, aunque creo que el de todos funciona igual....

Etiquetas: recorrer
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 05:03.