Foros del Web » Programando para Internet » PHP »

while dentro de while

Estas en el tema de while dentro de while en el foro de PHP en Foros del Web. Hola foro acá otra vez intentando de nuevo una nueva aventura... Tengo las siguientes tablas FORMA id_f forma MODELO id_mod id_f modelo MEDIDAS id_m medidas ...
  #1 (permalink)  
Antiguo 02/10/2008, 11:59
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
while dentro de while

Hola foro acá otra vez intentando de nuevo una nueva aventura...
Tengo las siguientes tablas

FORMA
id_f
forma

MODELO
id_mod
id_f
modelo

MEDIDAS
id_m
medidas

MODXMED
id
id_mod
id_med

1ra consulta

Código PHP:
<? $registros=mysql_query("SELECT forma, modelo FROM modelo as m
join forma as f on f.id_f=m.id_f
join modxmed as mxm on mxm.id_mod=m.id_mod
where forma='rectangulares';"
,$conexion) or die("Problemas en el select:".mysql_error());
while (
$reg=mysql_fetch_array($registros))
{
echo 
$reg['modelo'];
echo 
"<br />";

//cierre while 1
mysql_close($conexion);
?>
Anda bárbaro me imprime los modelos por separado según la forma que pida
pero cuando quero pedir...

Consulta 2(combinada)

Código PHP:
<? $registros=mysql_query("SELECT forma, modelo FROM modelo as m
join forma as f on f.id_f=m.id_f
join modxmed as mxm on mxm.id_mod=m.id_mod
where forma='rectangulares';"
,$conexion) or die("Problemas en el select:".mysql_error());
while (
$reg=mysql_fetch_array($registros))
{
echo 
$reg['modelo'];
echo 
"<br />";

$medida=mysql_query("select medida from medida as med
join modxmed as mxm on mxm.id_med=med.id_m
where  mxm.id_mod="
.$reg['id_mod']);


while (
$reg_med=mysql_fetch_array($medida))


{
echo 
$reg_med['medida'];
echo 
"<br />";

   }

mysql_close($conexion);
?>
me imprime...


Código HTML:
Bahía

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/cbsite/domains/cbsite.com.ar/public_html/superpagina/index.php on line 43
Bahía

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /index.php on line 43
Bahía

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result /index.php on line 43
Aniversario

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result /index.php on line 43
Aniversario

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result /index.php on line 43
Aniversario

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result /index.php on line 43
Relax Simple

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result /index.php on line 43
No solo no me da las medidas que además me repite los modelos...
A ver amigos si alguien con la mente mas fresca puede sacarme de este brete...desde ya mil gracias por su tiempo.
  #2 (permalink)  
Antiguo 02/10/2008, 12:16
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: while dentro de while

Creo que debes añadir id_mod a la primera consulta, ya que no estas trayendo ese valor, solo modelo y forma.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 02/10/2008, 14:37
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: while dentro de while

Buenísimo The_web_saint !!! muchas gracias no me había dado cuenta ahora si me imprime las medidas el único problema es que me repite el modelo..

Código HTML:
Bahía
120 x 70 x 42
130 x 70
138 x 70
Bahía
120 x 70 x 42
130 x 70
138 x 70
Bahía
120 x 70 x 42
130 x 70
138 x 70
Aniversario
147 x 70
161 x 70
Aniversario
147 x 70
161 x 70
Aniversario
147 x 70
161 x 70
Relax Simple
170 x 70
No termino de darme cuenta que es lo que pasa
  #4 (permalink)  
Antiguo 02/10/2008, 15:18
Avatar de davico_tico  
Fecha de Ingreso: marzo-2007
Mensajes: 27
Antigüedad: 17 años, 1 mes
Puntos: 0
De acuerdo Respuesta: while dentro de while

Segun veo tu primera consulta hace que se repitan los registros, porque incluso en el mensaje de error que antes te salía, el campo 'modelo' repetía.

Parece que la tercera tabla de tu primera consulta está sobrando.

Suerte ...
  #5 (permalink)  
Antiguo 02/10/2008, 15:29
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: while dentro de while

Muchas gracias era eso lo que me hacía repetir el modelo, mil gracias por su tiempo!!!
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 10:27.