Foros del Web » Programando para Internet » PHP »

Urgencia - Tengo Problemas con consulta SQL dentro de un foreach

Estas en el tema de Urgencia - Tengo Problemas con consulta SQL dentro de un foreach en el foro de PHP en Foros del Web. Hola a todos.. hacia bastante tiempo que no requería ayuda... tengo el siguiente problema: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php $ciudades = new selects ...
  #1 (permalink)  
Antiguo 08/11/2013, 20:47
 
Fecha de Ingreso: julio-2013
Ubicación: Temuco
Mensajes: 13
Antigüedad: 10 años, 9 meses
Puntos: 0
Exclamación Urgencia - Tengo Problemas con consulta SQL dentro de un foreach

Hola a todos.. hacia bastante tiempo que no requería ayuda...
tengo el siguiente problema:

Código PHP:
Ver original
  1. <?php
  2. $ciudades = new selects();
  3. $ciudades->code = $_GET["code"];
  4. $ciudades = $ciudades->cargarCiudades();
  5. foreach($ciudades as $key=>$value)
  6. {
  7.         $sec_qry    = mysql_query("SELECT*FROM Realtor_sector where IdSector = $key",$apolloi);
  8.         $sec_ver    = mysql_fetch_assoc($sec_qry);
  9.         $sector100  = $sec_ver['Sector'];
  10.         echo "<option value=\"$key\">".$sector100."</option>";
  11. }
  12. ?>

en le fondo, quiero hacer una consulta dentro de un FOREACH... cuando lo probé en mi computador funciono de pelos, pero lo chanté en el servidor y coperó..no funciono... que hago? de que forma puedo compatibilizar eso sin tener que modificar la configuración de PHP, solo con código o htaccess?

Resumen: $sector100 funciona y da un valor solo en el Localhost, no en el servidor...

Gracias a todos
  #2 (permalink)  
Antiguo 08/11/2013, 23:37
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Urgencia - Tengo Problemas con consulta SQL dentro de un foreach

<saludos>
Cuando dices que no funciona, a que parte en especifico te refieres?
A que carga bien el select, pero todos lo visual de la lista queda en blanco?
O que hay fallo en el query en el server? o a que?

Inicialmente se me ocurre ver si el campo en la tabla se llama Sector o sector
en el server
Aprovecho para sugerirte que mejores el select y no hagas un llamado a todos los campos si no los vas a usar todos, mejor solo trae los que necesitas (en este caso el sector)

Si visualizas que el campo está bien invocado, entonces revisa lo siguiente:

1. Hay data en la tabla del server?
2. Si no se alimenta el select, sino que se hace el foreach y se pone a
imprimir el valor, lo muestra?
3. Si la repuesta a 2 es false, que pasa haciendole un print_r a $sec_ver
en el server?
4. El server es web o es de intranet?
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 09/11/2013, 07:01
 
Fecha de Ingreso: julio-2013
Ubicación: Temuco
Mensajes: 13
Antigüedad: 10 años, 9 meses
Puntos: 0
Exclamación Respuesta: Urgencia - Tengo Problemas con consulta SQL dentro de un foreach

Cita:
Iniciado por mortiprogramador Ver Mensaje
<saludos>
Cuando dices que no funciona, a que parte en especifico te refieres?
A que carga bien el select, pero todos lo visual de la lista queda en blanco?
O que hay fallo en el query en el server? o a que?

Inicialmente se me ocurre ver si el campo en la tabla se llama Sector o sector
en el server
Aprovecho para sugerirte que mejores el select y no hagas un llamado a todos los campos si no los vas a usar todos, mejor solo trae los que necesitas (en este caso el sector)

Si visualizas que el campo está bien invocado, entonces revisa lo siguiente:

1. Hay data en la tabla del server?
2. Si no se alimenta el select, sino que se hace el foreach y se pone a
imprimir el valor, lo muestra?
3. Si la repuesta a 2 es false, que pasa haciendole un print_r a $sec_ver
en el server?
4. El server es web o es de intranet?
</saludos>

HOLANDA! tengo el mismo problema..pero ahora solo imprime un numero único, no hace el foreach correctamente (Imprime 1 y no la serie real.. son ID Únicas )...

Respondiendo a los números:

1: Si hay data en la tabla del servidor
2: El select se alimenta, ya que hace el foreach pero no muestra la consulta.
3: Probé haciéndole print_r en el server y no funciono O.o
4: El servidor es WEB, un VPS

El sitio web es: www.milespropiedades.cl y es específicamente en el buscador... Carga Carga Regiones, Ciudades, pero no carga sectores... Antiguamente cargaba eso, pero no me daba las ID para tirar por formulario, hice esa modificación y ahora debería cargar las ID y el nombre pero no pasa... que será? no se :/

Me enrede.. carga las ID por la variable $key, pero no hace la consulta correspondiente:

NUEVO CÓDIGO:
Código PHP:
Ver original
  1. <?php
  2. include("clases/class.mysql.php");
  3. include("clases/class.combos.php");
  4. $ciudades = new selects();
  5. $ciudades->code = $_GET["code"];
  6. $ciudades = $ciudades->cargarCiudades();
  7. foreach($ciudades as $key => $value)
  8. {
  9.         $sec_qry    = mysql_query("SELECT IdSector, Sector FROM Realtor_sector where IdSector = $value",$apolloi);
  10.         $sec_ver    = mysql_fetch_assoc($sec_qry);
  11.         $sec_name   = $sec_ver['Sector'];
  12.         $sec_id     = $sec_ver['IdSector'];
  13.         $sectorizar = "<option value=\"$sec_id\">".print_r($sec_id)."</option>";
  14.         echo $sectorizar;
  15. }
  16. ?>
  #4 (permalink)  
Antiguo 09/11/2013, 07:48
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: Urgencia - Tengo Problemas con consulta SQL dentro de un foreach

Si haces esto mejor,
Código PHP:
Ver original
  1. $ciudad = $ciudades->cargarCiudades();//o $ciudad[]
  2. var_dump($ciudad);
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #5 (permalink)  
Antiguo 09/11/2013, 09:17
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Urgencia - Tengo Problemas con consulta SQL dentro de un foreach

Es mejor que hagas todo con una sola consulta y no ejecutes una query dentro de un loop foreach (vas a tener muchos problemas de rendimiento dependiendo la cantidad de elementos del loop). Puedes usar IN de Mysql.

Código MySQL:
Ver original
  1. where IdSector IN ....
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 09/11/2013, 10:10
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Urgencia - Tengo Problemas con consulta SQL dentro de un foreach

<saludos>
Ehm, a ver holandes... creo que no fui claro yo,
te invite a que hicieras el foreach SIN pintar el select,
es decir, solo has el print pero sin los options,
es más, hazlo en un script aparte para que no
modifiques el original
Mínimo con el print_r debería por lo menos
verse un "Array" o similares
Cuando tengas ese script donde no involucres
al select html nos cuentas que te dió como resultado

P.D: Entre a la página pero tampoco carga ciudades
P.D2: Ya carga ciudades y sectores, creo que lo que tienes es un tema de data,
pues no en todos los casos carga las ciudades y los sectores

En mi caso use la regiòn "La araucaria" y la recordada "Temuco..." y me muestra 4 sectores (Av alemania, centro, estacion, portal la frontera)
Para la pròxima, avisanos que son listas dependientes, pues imagino que las ciudades dependen de la región,
y el sector de la ciudad, asì que creo incluso que el código con el que empezaste el post deberìa funcionar.
Suerte con eso!
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 09/11/2013 a las 10:17
  #7 (permalink)  
Antiguo 09/11/2013, 19:35
 
Fecha de Ingreso: julio-2013
Ubicación: Temuco
Mensajes: 13
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Urgencia - Tengo Problemas con consulta SQL dentro de un foreach

Cita:
Iniciado por mortiprogramador Ver Mensaje
<saludos>
Ehm, a ver holandes... creo que no fui claro yo,
te invite a que hicieras el foreach SIN pintar el select,
es decir, solo has el print pero sin los options,
es más, hazlo en un script aparte para que no
modifiques el original
Mínimo con el print_r debería por lo menos
verse un "Array" o similares
Cuando tengas ese script donde no involucres
al select html nos cuentas que te dió como resultado

P.D: Entre a la página pero tampoco carga ciudades
P.D2: Ya carga ciudades y sectores, creo que lo que tienes es un tema de data,
pues no en todos los casos carga las ciudades y los sectores

En mi caso use la regiòn "La araucaria" y la recordada "Temuco..." y me muestra 4 sectores (Av alemania, centro, estacion, portal la frontera)
Para la pròxima, avisanos que son listas dependientes, pues imagino que las ciudades dependen de la región,
y el sector de la ciudad, asì que creo incluso que el código con el que empezaste el post deberìa funcionar.
Suerte con eso!
</saludos>
El problema finalmente fue algo de la configuración PHP, la cual no quería tocar... y no lo toque... lo hice mas fácil y rústico... agarré los select y les mande un onchange y me funciono.. no con el rendimiento del otro select, pero ya me salvo..

Muchas gracias por su colaboración y ayuda.

Atte.

Etiquetas: foreach, mysql, query
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 18:33.