Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/06/2002, 18:36
Avatar de gomo
gomo
 
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 22 años
Puntos: 0
increible duda con mysql_fetch_array!!!!

Hola gente, como andan
Bueno estoy haciendo un programita para ofrecer encuestas para webmasters, ya esta muy terminado pero me habia salteado un problema que lo resolvi de otra manera, pero quiero saber que pasa.
Imaginen este código:

<?php
$sql=mysql_query("SELECT * FROM tabla WHERE id='1'");
/*necesito contar los votos de cada item de la poll para tener el total y luego poder calcular los porcentajes.
Lo hago con un loop*/
$i = 0;
while($a=mysql_fetch_array($sql)){
$i += $a['votos'];
}
//mostramos los datos
echo "Los votos totales son: ".$i;
/*entonces ya tengo $i con el total de votos
necesito ahora hacer otro loop mas para ir mostrando los votos de cada item y el porcentaje del total
entonces intento OTRO loop, y HETE AQUI EL PROBLEMA*/
while($b=mysql_fetch_array($sql)){
//aca va todo el codigo de echo()s y printf()s
}

Bueno supongo que se entiende el código si hay algun error no se preocupen el codigo esta bien ese no es el original sino un ejemplo simplificado.
Ahora cuando ejecuto todo, aparece nada mas el primer echo, el echo $i... El segundo (con la info de cada poll) no aparece, ni da error.
Entonces pense que el primer mysql_fetch_array me habia "gastado" la variable $sql, y que era mejor tener 2 iguales y usar una en cada loop:
entonces ANTES del primer loop hago:
$sql1 = $sql;
$sql2 = $sql;
y uso respectivamente $sql1 y $sql2 para cada loop... NADA..
Que raro -me digo- y hago de nuevo la consulta entre el primer loop y el segundo, otra consulta igual a la primera.
Y FUNCIONA.
¿¿ALGUIEN TIENE IDEA DE PORQUE M I E R D A HACE ESTO???
O sea con las 2 consultas funciona bien, solo que es mas lento y mas carga para la bd, en este caso no es problema pero creo que es un detalle importante... Me fije en el manual y nada...
Saludos a ver quien se la sabe


<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>