Comunidad de diseño web y desarrollo en internet online

Problema con impresion de consulta

Citar            
MensajeEscrito el 01 Sep 2012 08:23 am
Saludos compañeros me ocurre un problema con una impresion de una consulta mysql , el codigo de mi php es este:

Código PHP :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Menu jardin 3</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="" />
<meta name="author" content="rafaxplayer" />
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
*{
 margin: 0;
 padding: 0;   
}
body {
    
    width:740px;
    height:560px; 
    font-family: segoe script,arial;
    text-align: center;
    background-color: white;
}
#Menu{
    margin-top: 10px;
}
h1{
color:#4db339;
font-weight:bold;
font-size:35pt;
}
hr{
    width: 40%;
    margin:0 auto 0 auto;
}
#Menu ul{
    margin:20px 0 10px 0;
}
#footer{
    margin: 0 auto 10px auto;
    width: 80%;
    height: 25px;
    background-color:#8f9a8d;
}
#footer p{color: whitesmoke;}
</style>

</head>
<body>
<?php
    include("Load.php");
   $Query = "SELECT * FROM Menus";
    $res = mysql_query($Query)or die (mysql_error());
    
?>
<div id="Menu">

    <h1>Menú del dia</h1><p><?php ?></p>
    <hr />
    <ul id="primeros">
  
        <?php 
        while ($fila= mysql_fetch_assoc($res)) { 
         echo "<li>".$fila['Primeros']."</li>"; 
        } 
        ?>
           
    </ul>
    <hr />
    <ul id="segundos">
        <?php 
        while ($fila= mysql_fetch_assoc($res)) { 
         echo "<li>".$fila['Segundos']."</li>"; 
        } 
        ?>
    </ul>
    <hr />
    <ul id="postres">
        <?php 
        while ($fila= mysql_fetch_assoc($res)) { 
         echo "<li>".$fila['Postres']."</li>"; 
        } 
        ?>
        
        
    </ul>
</div>

<div id="footer"><p>Precio : 7,90€ inclye pan y vino de la casa </p></div>

</body>
</html>


Mi problema es que solo me imprime la lista del primer grupo de lis, osea las del campo 'Primeros' y no entiendo cual puede ser el problema, un saludo

Por rafaxplayer

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 01 Sep 2012 05:05 pm
Prueba utilizando
mysql_data_seek($res,0);

Antes de tu segundo y tercer while

Por FabVale

26 de clabLevel



Genero:Femenino  

Programador web, SEO

chrome
Citar            
MensajeEscrito el 01 Sep 2012 05:19 pm
funciono perfectamente , pero me gustaría saber el porque de esa función , gracias

Por rafaxplayer

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 01 Sep 2012 05:55 pm
Porque la función mysql_fetch_assoc() mueve el puntero de lectura del resultado de la consulta un registro hacia adelante cada vez que la invocas. Por lo tanto al final del primer while estará al final de los resultados y el segundo while nunca entrará.

Con mysql_data_seek() puedes mover el puntero de lectura al cualquier registro según su orden, al moverlo al lugar cero, se está moviendo al inicio, o sea al primer registro de resultados.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 01 Sep 2012 08:07 pm
ok , ahora lo entiendo mejor , gracias

Por rafaxplayer

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Sep 2012 03:45 pm
Orale eso esta de EGGS driverOP, en ves de volver a hacer la consulta para generar nuevamente el indice... puedes posicionarte dentro de la variable una vez hecha la consulta!!! eso me ahorrara muchos problemas excelente!!

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 03 Sep 2012 04:38 pm
De hecho puedes disparar varias consultas y moverte entre ellas al mismo tiempo, siempre que no agotes la memoria, claro está.

Para hacer esto y muchas cosas más creé una clase básica de acceso a base de datos:
Clase DBUtil para acceso a base de datos.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 04 Sep 2012 01:27 pm

DriverOp escribió:

De hecho puedes disparar varias consultas y moverte entre ellas al mismo tiempo, siempre que no agotes la memoria, claro está.

Para hacer esto y muchas cosas más creé una clase básica de acceso a base de datos:
Clase DBUtil para acceso a base de datos.


Ok le echare un vistazo

Por rafaxplayer

12 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.