Foros del Web » Programando para Internet » PHP »

Enviar consulta mysql a otra pagina

Estas en el tema de Enviar consulta mysql a otra pagina en el foro de PHP en Foros del Web. Hola, Estoy intentando enviar una cosulta de una base de datos mysql a otra pagina para q sea esta ultima kien la muestre. Tengo lo ...
  #1 (permalink)  
Antiguo 25/06/2011, 05:55
 
Fecha de Ingreso: febrero-2011
Mensajes: 21
Antigüedad: 13 años, 9 meses
Puntos: 0
Enviar consulta mysql a otra pagina

Hola,

Estoy intentando enviar una cosulta de una base de datos mysql a otra pagina para q sea esta ultima kien la muestre. Tengo lo siguiente:

consulta.php

$consulta = mysql_query("select * from casas where Tipo='$tipo' and Zona='$zona'");

$numFilas = mysql_fetch_row($consulta);
if ($numFilas) {

header('Location: index.php?consulta=$consulta')
}
else {
echo "No se ha obtenido ningun dato";
}

Luego en index.php la recojo y la intento mostrar:

<?php

$consulta = $_GET['consulta'];
?>
<table border="1">
<tr>
<td>Tipo</td>
<td>Zona</td>
<td>Referencia</td>
</tr>
<?php
while ($fila = mysql_fetch_assoc($consulta)) {
?>
<tr>
<td><?php echo $fila['Tipo']; ?></td>
<td><?php echo $fila['Zona']; ?></td>
<td><?php echo $fila['Referencia']; ?></td>
</tr>

<?php } ?>

</table>

pero me devuelve el siguiente error:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given in /var/www/index.php on line 51

La consulta esta probada y funciona. El problema parece que esta al enviar la variable.

Gracias.
  #2 (permalink)  
Antiguo 25/06/2011, 06:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Enviar consulta mysql a otra pagina

No se puede hacer así, podrías usar sesiones para guardar el resultado y en la otra página verificas el resultado. Aunque no es lógico que hagas eso porque para que querrías hacerlo en dos páginas. Trata de unificarlas que es lo lógico.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 25/06/2011, 06:16
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: Enviar consulta mysql a otra pagina

Y no es mejor pasar los parametros $time, $zona a la otra pagina. ejecutes el query en la index. y si no trae nada le hagas el header a la "consulta.php"??? o sea, lo pregunto pues, a mi parecer. no se si sea el caso pero puede influir luego. es que el metodo GET tiene un limite de caracteres. y si luego la consulta te trae un resultado muy grande.....podria darte problemas no??? en cambio... pasar 2 variables fijas. y luego hacer la busqueda me parece mas optimo y menos complicado.... bueh.
  #4 (permalink)  
Antiguo 25/06/2011, 08:38
 
Fecha de Ingreso: febrero-2011
Mensajes: 21
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Enviar consulta mysql a otra pagina

Es que consulta.php contiene la conexion a la bd y ademas contine diferentes consultas de diferentes paginas, por eso lo puse en un archivo a parte. La idea era q cada pagina q necesitase datos de la bd enviara la query a consulta.php, este lo gestionase y devolviese el resultado a cada cual para mostrarlos en otras paginas, sino tendria q hacer multiples conexiones a la bd en cada pagina.
  #5 (permalink)  
Antiguo 25/06/2011, 09:24
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: Enviar consulta mysql a otra pagina

bueh. me parec un poco complicado. mejor haz un archivo que contenga la conexion a la bd. por ejm. "conexion.php" y lo que haces es un include de ese archivo en los otros en que necesites hacer consultas. y usas la funcion que te haga el query.... asi solo tienes una conexion hecha. y es reutilizable el codigo para todas las que necesites.
  #6 (permalink)  
Antiguo 25/06/2011, 09:29
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 14 años, 5 meses
Puntos: 9
Respuesta: Enviar consulta mysql a otra pagina

Si trabajaras con POO seria magnifico :D
  #7 (permalink)  
Antiguo 25/06/2011, 09:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: Enviar consulta mysql a otra pagina

Cita:
Iniciado por bidock Ver Mensaje
Es que consulta.php contiene la conexion a la bd y ademas contine diferentes consultas de diferentes paginas, por eso lo puse en un archivo a parte. La idea era q cada pagina q necesitase datos de la bd enviara la query a consulta.php, este lo gestionase y devolviese el resultado a cada cual para mostrarlos en otras paginas, sino tendria q hacer multiples conexiones a la bd en cada pagina.
Lo de las multiples conecciones no tiene por que ser así. La coneccion puede estar en un archivo aparte (sola) y ser llamada con include_once. O estar basada en objetos y usar singleton.

Pasar las consultas a mi no me parece buena idea. Creo que tienen que haber al menos un archivo de consultas aparte, que reciba parametros, pero no consultas completas.
  #8 (permalink)  
Antiguo 25/06/2011, 12:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 21
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Enviar consulta mysql a otra pagina

Esta bien, he creado un archivo de conexion y he incluido el select y la tabla con los datos en el index.php, el problema ahora es q cuando cargo la pagina intenta ejecutar:
$consulta = mysql_query("select * from casas where Tipo='$tipo' and Zona='$zona'");
y como esas variables aun no tienen nada pq las selecciono yo con un select me lanza un error. Una vez q las selecciono y le doy a enviar me lo muestra bien.
  #9 (permalink)  
Antiguo 25/06/2011, 14:06
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: Enviar consulta mysql a otra pagina

puedes poner el codigo a veR?
  #10 (permalink)  
Antiguo 25/06/2011, 18:52
 
Fecha de Ingreso: noviembre-2010
Ubicación: mexico
Mensajes: 7
Antigüedad: 14 años
Puntos: 1
Respuesta: Enviar consulta mysql a otra pagina

lo que puedes hacer es hacerlo en clases y usar un poco de ajax por si lo que quieres es mostrar los datos obtenidos en la misma pagina
  #11 (permalink)  
Antiguo 26/06/2011, 09:47
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: Enviar consulta mysql a otra pagina

Cita:
Iniciado por bidock Ver Mensaje
Esta bien, he creado un archivo de conexion y he incluido el select y la tabla con los datos en el index.php, el problema ahora es q cuando cargo la pagina intenta ejecutar:
$consulta = mysql_query("select * from casas where Tipo='$tipo' and Zona='$zona'");
y como esas variables aun no tienen nada pq las selecciono yo con un select me lanza un error. Una vez q las selecciono y le doy a enviar me lo muestra bien.
Y por qué llamas a una consulta antes de incluir la conección? Eso es un problema de logica.

Y si la consulta no fuera necesario, siempre podrías usar condicionales.
  #12 (permalink)  
Antiguo 27/06/2011, 10:57
 
Fecha de Ingreso: febrero-2011
Mensajes: 21
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Enviar consulta mysql a otra pagina

Ya lo solucioné. Meti todo el codigo de php dentro de un if q comprobaba si se habia pulsado el boton de forma q ya no me lee ninguna linea antes de pulsarlo.

Muchas gracias a todos por la ayuda.

Saludos.

Etiquetas: mysql
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 12:08.