Foros del Web » Programando para Internet » PHP »

formulario+consulta

Estas en el tema de formulario+consulta en el foro de PHP en Foros del Web. Buenos dias, como puedo hacer para sacar unos registros de una base datos a partir de unos checkbox seleccionados. Por ejemplo Formulario con varios checkbox: ...
  #1 (permalink)  
Antiguo 03/04/2008, 03:15
 
Fecha de Ingreso: enero-2008
Mensajes: 63
Antigüedad: 16 años, 3 meses
Puntos: 0
formulario+consulta

Buenos dias, como puedo hacer para sacar unos registros de una base datos a partir de unos checkbox seleccionados. Por ejemplo

Formulario con varios checkbox:

HOMBRE
MUJER
FUTBOL
BALONCESTO
...

y quiero que de la base de datos me saque solo la informacion de los que tengo seleccionados. Como lo hariais gracias
  #2 (permalink)  
Antiguo 03/04/2008, 05:21
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: formulario+consulta

Amigo,

Para este tema, yo pienso que seria mucho mejor si dejas mas detalles... seria bueno, minimamente que dejes la estructura de tu base de datos para poder ayudartee, y si no la tienes, mas detalles sobre lo que tienes (entrada) y sobre lo que quieras lograr (salidad de datos)

Saludotes.
  #3 (permalink)  
Antiguo 03/04/2008, 05:35
 
Fecha de Ingreso: enero-2008
Ubicación: Chaco
Mensajes: 116
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: formulario+consulta

si lo que tu quieres, es extraer las filas cuyas caracteristicas esten seleccionadas en los checkbox puede ser algo asi:

obviamente en tu base tiene que haber un campo que sea la caracteristica ej: caracteristicas char(50)

Código PHP:
//declaras una variable que tenga las palabras a buscar en los campos de la db
$variable_caracteristica "";//este paso no es necesario
//entonces verificas que los checks esten activos
if(hombre=="si")
{
$variable_caracteristica += " hombre";
}

if(
baloncesto=="si")
{
$variable_caracteristica += " baloncesto";
}

//y cuando haces la consulta
mysql_query("select * from tutabla WHERE caracteristica=$variable_caracteristica",........
//y luego, ya sabes... 
  #4 (permalink)  
Antiguo 03/04/2008, 06:57
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: formulario+consulta

buenisima pregunta, yo tambien estoy tratando de hacer eso y todavia no lo consigo... pobe con LIKE pero si hay mas de 10 no funciona
por ejemplo:
$variable_caracteristica="1";
$query="select * from tutabla WHERE caracteristica LIKE '".$variable_caracteristica."%' ";

suponiendo que dentro de la tabla tenes almacenados los datos asi: 1,2,6,7,9 funciona..
trae los que tienen 1

pero cuando pasa 10 ya no...

1,2,5,7,10,11,13,20

ahi trae 1 10 11 y 13

y tampoco funciona si queres que traiga 1,5... y en tu base tenes por ejemplo: 1,3,5,6
  #5 (permalink)  
Antiguo 03/04/2008, 08:12
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: formulario+consulta

Jumm entonces es tu query lo que debes hacer es colocar en vez de Like coloca asi

$query="select * from tutabla WHERE caracteristica= '".$variable_caracteristica."%' "; y quitale los % por que entonces te traera todos los que lleven 1 ya sea en medio al final o al principio

te explico..

Si yo coloco una variable de esta manera

%$variable_caracteristica--> Me mostrara todos los registros que tengan al final 1 no importa lo que tenga en el principio osea 21, 91, 4

Ahora si yo lo coloco asi

$variable_caracteristica% --> Me mostrara todos los registros que tengan al final cualquier cosa despues de la variable que necesite ejemplo 12,15, 16, 17 ,18 ,19 ,111, 112,113 y asi sucesivamente.

Si yo lo coloco asi

%$variable_caracteristica% --> Me mostrara todos los registros que contegan 1. Por asi decirlo me mostrara todos los registros que tengan 1 en cualquier parte de su registro..

Espero te haya ayudado..

Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:50.