Jump to content


Photo

Repite datos de una consulta


  • Please log in to reply
1 reply to this topic

#1 dudu

dudu

    Newbie

  • Miembros
  • Pip
  • 3 posts

Posted 17 September 2013 - 10:18 PM

El caso es que tengouna base de datos con una tabla de Subcategorias y una con miniCategorias relaciona con subcategoria a traves de un indice id_sucategorias, cuando quiero imprimir cada minicategoria perteneciente a una subcategoria la primera minicategoria sale bien, pero las sucesivas son la primera mas la suma de la siguiente y asi sucesivamente, por ejemplo tengo una categoria de relojes, luego subcategoria de caballero y por ultimo una minicategoria con las colecciones de caballero de esa marca.

hice una consulta limpia y me da el mismo error: 

<?php     
$con=new trabajo;
$cat=$con->getCategoria();
$SubCat=$con->getSubCategoria(1);

for($i=0;$i<count($SubCat);$i++){
echo $SubCat[$i]['id_subcategoria'];
echo"<br>";

$MinCat=$con->getMiniCategoria($SubCat[$i]['id_subcategoria']);
for($j=0;$j<count($MinCat);$j++){

echo $MinCat[$j]['nombre_minicatg'];
echo"<br>";

}
}
?>

la respuesta es:
PARA ELLOS
BESIDE
CASUAL
DURO 200
EDIFICE
G-SHOCK
OUTGEAR
PROTREK
PARA ELLAS
BESIDE
CASUAL
DURO 200
EDIFICE
G-SHOCK
OUTGEAR
PROTREK
BABY-G
BESIDE
CASUAL
POPTONE
SHEEN
DEPORTIVOS
BESIDE
CASUAL
DURO 200
EDIFICE
G-SHOCK
OUTGEAR
PROTREK
BABY-G
BESIDE
CASUAL
POPTONE
SHEEN
CRONOMETROS
BESIDE
CASUAL
DURO 200
EDIFICE
G-SHOCK
OUTGEAR
PROTREK
BABY-G
BESIDE
CASUAL
POPTONE
SHEEN
RELOJES DE MESA
BESIDE
CASUAL
DURO 200
EDIFICE
G-SHOCK
OUTGEAR
PROTREK
BABY-G
BESIDE
CASUAL
POPTONE
SHEEN
RELOJES DE PARED
BESIDE
CASUAL
DURO 200
EDIFICE
G-SHOCK
OUTGEAR
PROTREK
BABY-G
BESIDE
CASUAL
POPTONE
SHEEN

Como se puede apreciar la primera consulta esta bien , pero despues de "para ELLAS" lo que hace es que deja los de "para ELLOS" y agrega el resto, y en los demas casos no deberia aparecer nada y aparece lo anterior repetido.

mi clase en la consulta es la siguiente:

public function getMiniCategoria($Subcat){

$minicat=array();

$res= mysql_query("SELECT * FROM minicategoria where id_subcategoria=$Subcat ORDER BY nombre_minicatg ASC",ConectarBD::conect()) or die("Error en la Consulta SQL");



  while($reg=mysql_fetch_assoc($res))
    {
  $this->minicat[]=$reg;
}

      return $this->minicat;
     

  }



  • 0

#2 dudu

dudu

    Newbie

  • Miembros
  • Pip
  • 3 posts

Posted 20 September 2013 - 03:13 PM

El error está en la declaración de las varibles, en este caso debe ser $this->minicat=array() en vez de $minicat=array();
  • 0




IP.Board spam blocked by CleanTalk.