Foros del Web » Programando para Internet » PHP »

varias consultas desde php

Estas en el tema de varias consultas desde php en el foro de PHP en Foros del Web. Hola, tengo consultas.php con un formulario para hacer las consultas y cada consulta que hago llama a un archivo diferente consulta1.php,consulta2.php,consulta3.php.....(cre o que esto es ...
  #1 (permalink)  
Antiguo 25/04/2010, 01:15
 
Fecha de Ingreso: abril-2010
Mensajes: 96
Antigüedad: 14 años
Puntos: 0
varias consultas desde php

Hola, tengo consultas.php con un formulario para hacer las consultas y cada consulta que hago llama a un archivo diferente consulta1.php,consulta2.php,consulta3.php.....(cre o que esto es un poco enfarragoso y necesitaria diminuir tantos archivos por consultas )


Mi idea es tener varios checkbox en consultas.php y dependiendo de los checkbox que tenga seleccionados que me haga esa consulta en un solo archivo, por ejemplo consulta1.php.

De esta forma me surge la duda de....seria posible que me mostrara solo los campos/columnas que yo quiero consultar ?

He estado buscanso pero no veo ningun ejemplo...si me podriais ayudar o decir donde hay.

Gracias
  #2 (permalink)  
Antiguo 25/04/2010, 04:25
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: varias consultas desde php

Lo que quieres es que, por ejemplo, en una tabla solo salgan las columnas de las que has hecho la consulta, no?
  #3 (permalink)  
Antiguo 25/04/2010, 06:41
 
Fecha de Ingreso: abril-2010
Mensajes: 96
Antigüedad: 14 años
Puntos: 0
Respuesta: varias consultas desde php

Cita:
Iniciado por Vallu Ver Mensaje
Lo que quieres es que, por ejemplo, en una tabla solo salgan las columnas de las que has hecho la consulta, no?
Si, eso es lo que quiero.

Mas bien algo similiar a Access.
  #4 (permalink)  
Antiguo 25/04/2010, 07:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: varias consultas desde php

Hola

Solo has de tamizar la consulta con el valor del checkbox. Este sería la id del registro a consultar

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 25/04/2010, 07:21
 
Fecha de Ingreso: abril-2010
Mensajes: 96
Antigüedad: 14 años
Puntos: 0
Respuesta: varias consultas desde php

Cita:
Iniciado por Adler Ver Mensaje
Hola

Solo has de tamizar la consulta con el valor del checkbox. Este sería la id del registro a consultar

Suerte
Si, pero si tengo 15 check box como los paso al select si el usuario solo selecciona 5 checbox y no quiero que me salgan caolumnas en blanco ???
  #6 (permalink)  
Antiguo 25/04/2010, 07:59
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: varias consultas desde php

Sin duda metiendo mucha instrucion If () {}, o otra idea es crear un array con los nombres de los campos a mostrar y fabricarte un doble bucle X,Y para ir construyendo la tabla, mas liosillo pero funcionaria.
  #7 (permalink)  
Antiguo 25/04/2010, 08:14
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: varias consultas desde php

Hola

Podría ser algo como esto

Código PHP:
Ver original
  1. $valores = array($_POST["cam_form"]);
  2.  
  3. $Arr = array();
  4.  
  5. $j = 0;
  6. for($i = 0; $i < sizeof($valores); $i++) {
  7. if ($valores[$i] != "") {
  8. array_push($Arr, $valores[$i]);
  9. $j += 1;
  10. }
  11. }
  12.  
  13.  
  14. for($i = 0; $i < $j; $i++) {
  15. select * from tabla where id= "$Arr[$i]"
  16. }

El nombre de todos los select ha de ser el mismo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 25/04/2010, 14:03
 
Fecha de Ingreso: abril-2010
Mensajes: 96
Antigüedad: 14 años
Puntos: 0
Respuesta: varias consultas desde php

Cita:
Iniciado por Adler Ver Mensaje
Hola

Podría ser algo como esto

Código PHP:
Ver original
  1. $valores = array($_POST["cam_form"]);
  2.  
  3. $Arr = array();
  4.  
  5. $j = 0;
  6. for($i = 0; $i < sizeof($valores); $i++) {
  7. if ($valores[$i] != "") {
  8. array_push($Arr, $valores[$i]);
  9. $j += 1;
  10. }
  11. }
  12.  
  13.  
  14. for($i = 0; $i < $j; $i++) {
  15. select * from tabla where id= "$Arr[$i]"
  16. }

El nombre de todos los select ha de ser el mismo

Suerte
Me imprime por pantalla Resource#id5 algo estoy haciendo mal por que con esto echo mysql_num_rows($result); me devuelve todos los registros de mi BD.

Me podeis decir algun sitio donde venga algun ejemplo para este caso, por que no soy capaz de adaptarlo..

Mi idea es tener un consulta.php con dos fechas desde-hasta seleccionable por el usuario y a continuacion 15 checkbox de los cuales dependiendo de los que seleccione se basara en eso la consulta en otro archivo por ejemplo consulta_final.php
  #9 (permalink)  
Antiguo 25/04/2010, 15:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: varias consultas desde php

Hola

¿Por que no empiezas por imprimir en pantalla lo que te trae $_POST["campo"]? Eso te puede dar una idea de donde puede estar el problema

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #10 (permalink)  
Antiguo 25/04/2010, 15:16
 
Fecha de Ingreso: abril-2010
Mensajes: 96
Antigüedad: 14 años
Puntos: 0
Respuesta: varias consultas desde php

Cita:
Iniciado por Adler Ver Mensaje
Hola

¿Por que no empiezas por imprimir en pantalla lo que te trae $_POST["campo"]? Eso te puede dar una idea de donde puede estar el problema

Suerte
lo que me trae post es lo que yo escriba en el campo de texto y lo he comprobado y asi es...es decir ahi lo que escribo es el nombre de la columna.
  #11 (permalink)  
Antiguo 26/04/2010, 04:09
 
Fecha de Ingreso: abril-2010
Mensajes: 96
Antigüedad: 14 años
Puntos: 0
Respuesta: varias consultas desde php

bueno, sigo sin poder solucionar el problema, se me ocurre otra cosa a ver si me podeis ayudar.

Algun programa que no sea por el administrador de phpmyadmin para hacer las consultas que no sea con codigo ? Similar a access de Microsoft ?

Gracias de nuevo
  #12 (permalink)  
Antiguo 26/04/2010, 05:33
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: varias consultas desde php

Hola

Veamos, en pagina1 tienes 10 checkbox, el nombre de estos checkbox es el mismo y su valor es el valor por el que
vas ha hacer la consulta. El usuario marca 5 (1,3,5,7,9).
En pagina2 recibes los campos con $valores = array($_POST["cam_form"]);

Código PHP:
Ver original
  1. $valores = array($_POST["cam_form"]);
  2.  
  3. $Arr = array();
  4.  
  5.  
  6. for($i = 0; $i < sizeof($valores); $i++) {
  7. if ($valores[$i] != "") {
  8. array_push($Arr, $valores[$i]); // rellenas la matriz con los valores de los campos marcados
  9. }
  10. }

Ahora en la consulta. En la teoría debería de funcionar

Código SQL:
Ver original
  1. SQL = "select * from tabla where campo = " .implode($Arr, " OR campo = ")

Esta consulta daría algo como

Cita:
sql = "select * from tabla where campo = 1 OR campo = 3 OR campo = 5 OR campo = 7 OR campo = 9"
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #13 (permalink)  
Antiguo 26/04/2010, 08:10
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: varias consultas desde php

Mira Adler te ha dado una excelente solucion, pero si lo que quieres es mostrar las columnas que señalo el usuario y en checkbox, puede modificar el codigo que te paso Adler simplemente en el select das los nombres que las columnas que estan en el array.
Espero te ayude!!
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...

Etiquetas: Ninguno
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 06:13.