Foros del Web » Programando para Internet » PHP »

Insertar varios valores en un mismo campo

Estas en el tema de Insertar varios valores en un mismo campo en el foro de PHP en Foros del Web. Buenas ... si alguien me puede quitarme de este aprieto ... Veamos, tengo un formulario en el que le pido al usuario que indique la ...
  #1 (permalink)  
Antiguo 08/09/2010, 15:53
Avatar de koji_kabuto  
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Insertar varios valores en un mismo campo

Buenas ... si alguien me puede quitarme de este aprieto ...

Veamos, tengo un formulario en el que le pido al usuario que indique la disponibilidad que tiene para realizar cierta tarea (mañanas, tardes, noches) a seleccionar cada una con un CheckBox.

A cada CheckBox lo he identificado de distinta forma.

<input type="checkbox" name="horario[]" value="mañana" id="groups_1"/>
<input type="checkbox" name="horario[]" value="tarde" id="groups_2"/>
<input type="checkbox" name="horario[]" value="noche" id="groups_3"/>

Bueno al procesar la carga y suponiendo que el cliente seleccionie horario mañana y tarde ..... logro que se cargue en un campo (horario) de la siguiente manera:

Cliente 1
mañana,tarde


cargo Otro cliente con horario de esta manera

Cliente 2
mañana,tarde,noche


y este 3er cliente cargo

Cliente 3
mañana

OK ....

Ahora al realizar la consulta ... supongamos que quiero que me traiga todos los clientes que pueden en el horario de mañana,tarde,noche ...


$coma = ",";

$horario=$_GET[mañana].$coma.$_GET[tarde].$coma.$_GET[noche];

// esto me devuelve:

mañana,tarde,noche >>>> en la variable $horario


Hago mi consulta:_

select * from clientes where horario = '%$horario%'

Esto me trae solamente el cliente Nro. 2 ... cuando deberia traerme los clientes 1 y 3 tambine .... ya que ellos seleccionaron mañana y tarde ...

pero no logro hacer eso.. solo me trae el cliente 2 ...

si alguien sabe como .. .le agredeceria una ayudita.
  #2 (permalink)  
Antiguo 08/09/2010, 16:06
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: Insertar varios valores en un mismo campo

Prueba asi

select * from clientes where horario like '%$horario%'
  #3 (permalink)  
Antiguo 08/09/2010, 16:07
Avatar de koji_kabuto  
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Insertar varios valores en un mismo campo

si ya lo intente tambien con LIKE .. pero me sigue trayendo solo el cliente nro 2
  #4 (permalink)  
Antiguo 08/09/2010, 16:46
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: Insertar varios valores en un mismo campo

VAle vale, fue fallo mio, que quise responder muy deprisa.

Si tu pones LIKE '%mañana,tarde,noche%' va a buscar el texto mañana,tarde,noche asi todo juntito inseparable y por ese orden en la base de datos. Lo que tienes que hacer es lo siguiente con PHP

Código PHP:
$horario1=$_GET['mañana'];
$horario2=$_GET['tarde'];
$horario3=$_GET['noche']; 
Y la consulta MYSQL tal que asi:

select * from clientes where horario like '%$horario1%' or horario like '%$horario2%' or horario like '%$horario3%'

Prueba y me dices si lo entendiste.

Etiquetas: campos
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:48.