Foros del Web » Programando para Internet » PHP »

Select que recorra varias filas.

Estas en el tema de Select que recorra varias filas. en el foro de PHP en Foros del Web. Hola. Tengo un ciclo 'for' en mi página que toma valores de mi BD e imprime categorías y subcategorías, lo más seguro es que no ...
  #1 (permalink)  
Antiguo 29/07/2009, 12:41
 
Fecha de Ingreso: junio-2009
Mensajes: 250
Antigüedad: 14 años, 11 meses
Puntos: 1
Select que recorra varias filas.

Hola.

Tengo un ciclo 'for' en mi página que toma valores de mi BD e imprime categorías y subcategorías, lo más seguro es que no me explique, así que pondé un ejemplo de mi BD y un ejemplo de como quiero que aparezca en la página.

Así está más o menos mi BD:

Código PHP:
Tablatabla1

Continentes   Países                        Ciudades                  
(campos)

América          México                        D.F.                           (valores)
América          Estados Unidos          Washington
Europa           España                       Madrid
Europa           Inglaterra                   Liverpool
África             Egipto                         El Cairo
Asia               Japón                          Hong Kong
.
Asia               China                          Beijing
Oceanía         Australia                     Sydney
.
Europa          Francia                        Paris 
Y en la página como les repito, es un ciclo for, me gustaría hacer un 'SELECT' de alguna manera para que en la página ya apareciera algo así:

América -> México -> D.F.
Europa -> Inglaterra -> Liverpool
etc.

Así como en la base de datos, pero por orden, yo intenté pero sólo me toma un valor no todos, sino me explico díganme y seré más detallado.

Espero puedan ayudarme, se los agradezco de antemano.

Saludos.
  #2 (permalink)  
Antiguo 29/07/2009, 12:55
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Select que recorra varias filas.

Si no muestras parte del código, no podremos entenderte.

lo que planteas necesita 2 ciclos, 1 para recorrer las filas y el otro dentro de éste para recorrer las columnas.
  #3 (permalink)  
Antiguo 29/07/2009, 13:00
 
Fecha de Ingreso: junio-2009
Mensajes: 250
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Select que recorra varias filas.

Ok, digamos que primero se hace una consulta para ver el total de lineas que se van a tomar en cuenta con ésto:

Código PHP:
$query "select llave FROM tabla1 WHERE llave = '".$llave."'";
$result mysql_query($query);
$activ_rows mysql_num_rows($result); 
Y luego el ciclo 'for':
Código PHP:
for($filas=0;$filas+1<=$activ_rows;$filas++)
{
Aquí iria lo de "América -> México -> D.F."etc.

Me faltó agregar al ejemplo de mi BD que lleva una llave, para separar, aunque en el ejemplo que les mostré arriba todos llevan la misma llave, así que no importa.

Espero que con esto quede un poco más claro.

Saludos.
  #4 (permalink)  
Antiguo 29/07/2009, 13:01
 
Fecha de Ingreso: junio-2009
Mensajes: 250
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Select que recorra varias filas.

Ok, digamos que primero se hace una consulta para ver el total de lineas que se van a tomar en cuenta con ésto:

Código PHP:
$query "select llave FROM tabla1 WHERE llave = '".$llave."'";
$result mysql_query($query);
$activ_rows mysql_num_rows($result); 
Y luego el ciclo 'for':
Código PHP:
for($filas=0;$filas+1<=$activ_rows;$filas++)
{
Aqu&#237; iria lo de "América -> México -> D.F.", etc.

Me faltó agregar al ejemplo de mi BD que lleva una llave, para separar, aunque en el ejemplo que les mostré arriba todos llevan la misma llave, así que no importa.

Espero que con esto quede un poco más claro.

Saludos.
  #5 (permalink)  
Antiguo 29/07/2009, 13:08
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Select que recorra varias filas.

Me parece que tratas de disfrazar el código para que no te lo roben, es muy confusa tu consulta, además, en el select sólo especificas que te devuelva un campo, tendrías que especificar más campos o utilizar (*) para que te devuelvan todos los campos.

La intensión de este foro es compartir y ayudar, a mi me agrada particularmente ayudar porque de esa forma no solo se aprende, sino que se descubren nuevas cosas y formas más simples de programar.
  #6 (permalink)  
Antiguo 29/07/2009, 15:48
 
Fecha de Ingreso: junio-2009
Mensajes: 250
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Select que recorra varias filas.

No me malentiendas, la consulta que puse es solamente para tomar el número de filas a tomar en cuenta, y a partir de ahí hago el 'for', por ejemplo si el numero de filas es 11 veces, que se recorra 11 veces, y la consulta que pido es para guardar los valores en variables y ponerlos dentro del ciclo 'for' de manera que se impriman como puse en el primer post.

Y si no copio el código completo es porque es porque son como 400 lineas, pero de otras cosas que no necesito editar, no para que lo roben, para nada.

Los valores los pondría algo así dentro del 'for'

Código PHP:
<?php echo $continente;  ?>  -> <?php echo $pais;  ?>  -> <?php echo $ciudad;  ?>
Me gustaría que pudieras ayudarme con el select, para los valores, si no queda algo claro sobre que es lo que busco o cualquier cosa, dime.

Gracias de antemano, saludos.
  #7 (permalink)  
Antiguo 30/07/2009, 07:36
 
Fecha de Ingreso: junio-2009
Mensajes: 250
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Select que recorra varias filas.

Revivo el tema, espero que pudieran ayudarme con la consulta, de antemano, gracias.

El problema más bien radicaría en incluir eso en el ciclo, o en su defecto quitar el ciclo y hacer las consultas con 'do while', pero también estoy confundido en sobre como hacer las consultas, estaba pensando en algo así, ojalá puedan asesorarme:

Código PHP:
 $query_Recordsetcont"CONSULTA CONTINENTE";
  
$Recordsetcont mysql_query($query_Recordsetcont$conex) or die(mysql_error());
$row_Recordsetcont mysql_fetch_assoc($Recordsetcont);
do{
$continente=$row_Recordsetcont['continente'];
 
 
  
$query_Recordsetpais"CONSULTA PAIS ";
  
$Recordsetpais mysql_query($query_Recordsetpais$conex) or die(mysql_error());
$row_Recordsetpais mysql_fetch_assoc($Recordsetpais);
do{
$pais=$row_Recordsetpais['pais'];
 
  
$query_Recordset"CONSULTA CIUDAD";
  
$Recordset mysql_query($query_Recordset$conex) or die(mysql_error());
$row_Recordset mysql_fetch_assoc($Recordset);
do{
$ciudad=$row_Recordset['ciudad'];
 
////Aquí se imprimen///
 
}while($row_Recordsetmysql_fetch_assoc($Recordset));
}while(
$row_Recordsetpaismysql_fetch_assoc($Recordsetpais));
}while(
$row_Recordsetcontmysql_fetch_assoc($Recordsetcont)); 
Además, quisiera que la consulta fuera con todos, osea los continentes, paises y ciudades dentro de la misma tabla, no importa si usas un 'id' para identificarlos o ya sea el nombre, es lo de menos en realidad, lo que me importa es la consulta y que se impriman, en realidad lo que yo tengo planeado con esto, es que se impriman de acuerdo al número de ciudades, si en total son 10 ciudades, pues que todo se imprima 10 veces, ¿me explico?

Saludos.

Última edición por Gaug; 30/07/2009 a las 08:13
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 08:34.