Comunidad de diseño web y desarrollo en internet online

Problema con consulta Mysql y bucle While...

Citar            
MensajeEscrito el 19 Oct 2013 02:17 am
Buenos dias, tengo un problema con unas consultas de MySql y con un bucle while... la cosa es que tengo el codigo medianamente estructurado. pero me falla en la limpieza de la consulta... la cosa es asi...

Código PHP :

$Query  = doquery("SELECT * FROM {{table}} WHERE `destruyed` = 0 AND `id_owner` = '" . intval($CurrentUser['id']) . "' AND `type`=1", 'planets');

      while($AllPlanets = mysql_fetch_array($Query))
      {
                      $Query2 = doquery("SELECT * FROM {{table}} WHERE `id_owner`='". intval($CurrentUser['id']) ."' AND `galaxy`=". $AllPlanets['galaxy'] ." AND `system`=". $AllPlanets['system'] ." AND `planet`=". $AllPlanets['planet'] ." AND `planet_type`=3",'planets');
         while($Lunas = mysql_fetch_array($Query2))
         {
            Estructuras de control...
            {
               .........
            }
         unset($Lunas);
         unset($Query2);
         }
      }
mysql_free_result($Query);
mysql_free_result($Query2);




La cosa es que por mucho que intento limpiar la $Query2 y que vuelva a buscar los datos cuando hace la segunda pasada en la $Query1, parece ser que persistem los datos de la segunda llamada a la base de datos... haciendo un (count(is_array(isset($Lunas))) obtengo una parte del resultado pero no muestra el resto de resultados de la tabla principal, y me estoy empezando a desesperar con eso la verdad... ya no se ni como montar la estructura para que se muestren los datos combinados de ambas llamadas.

Como cosa a tener en cuenta, es que tampoco puedo hacer una llamada con join en la sentencia, por que ambas son de la misma tabla y no hay un indice que ayude a diferenciar si existe o no un dato en particular... ^^.

Si alguno puede echarme un cabo con algo de teoria le estaria agradecido ^^

Por Desmadre

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2013 10:07 pm
Esta muy raro, en tu lugar aplicaria una reingenieria para normalizar la BD de datos por que esta del nabo... en fin si no hay tiempo solo llegue a notar.

el unset deberia estar fuera del while, por que lo borras cuando debe de volver a compararse para entrar al ciclo.


cada que termine un ciclo tambien coloca var_dump($variable). para saber que es lo que realmente lleva la variable.

Saludos

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

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