Foros del Web » Programando para Internet » PHP »

problema con mostrar resultado mysql

Estas en el tema de problema con mostrar resultado mysql en el foro de PHP en Foros del Web. buenas tardes foreros, tengo un problema, hago una consulta a mysql, y la quiero mostrar en una tabla armada en php, el tema es que ...
  #1 (permalink)  
Antiguo 24/06/2008, 12:46
 
Fecha de Ingreso: mayo-2006
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 0
problema con mostrar resultado mysql

buenas tardes foreros, tengo un problema, hago una consulta a mysql, y la quiero mostrar en una tabla armada en php, el tema es que no me muestra la primer fila de los resultados, les paso el codigo a ver si me pueden dar una mano.
<?php

$link = mysql_connect("localhost", "root","");
mysql_select_db("biva", $link);


$dep = $_POST["v_ind"];
$indep = $_POST["v_dep"];


$finaldep=ereg_replace("\.","_",$dep);
$finalindep=ereg_replace("\.","_",$indep);

/*
buscar cuantas opciones tiene la variable
armar un stringcase por cada opcion
*/

$busco = mysql_query("SELECT DISTINCT ($finalindep) AS cada_uno FROM
encuesta order by $finalindep asc", $link) or die (mysql_error());

// count rows para hacer el bucle agregando las string query

$filas = mysql_num_rows($busco);



// con este bucle meto en un array cada campo para hacer el sum if

while ($campo = mysql_fetch_array($busco)){
$bucles[]= $campo["cada_uno"]."<br>";

}
do {
// echo $campo["cada_uno"];
}
while ($row = mysql_fetch_field($busco));



$strqry = "SELECT $finaldep, ";

// meto bucle foreach
$i = 0;
foreach ($bucles as $key => $val)
{

$strqry.= "Sum(If($finalindep='$val',1,0)) AS '$i ', ";
$i++;
}

$strqry.= " $finaldep AS todo FROM encuesta GROUP BY todo asc";


echo $strqry;
$sqry = mysql_query($strqry,$link) or die(mysql_error());

if ($field = mysql_fetch_array($sqry)){

echo "<table cellpadding='1' cellspacing='0' border='1' > ";
echo "";
echo "<tr> ";
echo "<td><div align=center><b>$finaldep </b></div></td> ";
foreach ($bucles as $key => $val)
{
echo "<td><div align=center><b> $val </b></div></td> ";
}

echo "</tr> ";
echo "<tr> ";

while ($caramba = mysql_fetch_field($sqry)){
echo "<td>$caramba->name</td> ";
echo "";
}

do {



for ($n = 0;$n <$filas;$n++)
{
echo "<td><div align = left>".$caramba["$n"]."</td></div> ";

}
echo "<td><div align = left>".$caramba["todo"]."</div></td> ";
echo "</tr> ";
}
while ($caramba = mysql_fetch_array($sqry));
echo "</table> ";
} else {
echo "0";
}


?>

podran darme una mano? si hago la consulta en phpmyadmin me sale todo ok, pero en php no. que puede ser?.
gracias
  #2 (permalink)  
Antiguo 24/06/2008, 12:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: problema con mostrar resultado mysql

Hay alguna razon por la que hagas un while, luego un do/while sobre el mismo resultado?

Por otro lado aqui tienes tu problema:
Código PHP:
if ($field mysql_fetch_array($sqry)){ 
A la hora de hacer eso, descargas la primera fila por lo que al ciclar usando el while ya no esta la primera fila, reemplaza ese if por un mysql_num_rows y checa si es mayor a 0.

Saludos.
  #3 (permalink)  
Antiguo 24/06/2008, 13:24
 
Fecha de Ingreso: mayo-2006
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: problema con mostrar resultado mysql

Muchisimas gracias, era eso.
la verdad no soy un gran programador, tal vez haga esas cosas de incluir bucles sin sentido.... es cuestion de experiencia.
muchas gracias de nuevo.
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:04.