Foros del Web » Programando para Internet » PHP » CodeIgniter »

Consulta MySQL

Estas en el tema de Consulta MySQL en el foro de CodeIgniter en Foros del Web. Hola, tengo un problema con una consulta enviada desde php a mysql, el tema es q tengo un dato con este formato: 6','3','5 tengo esta ...
  #1 (permalink)  
Antiguo 27/09/2013, 12:56
 
Fecha de Ingreso: mayo-2010
Mensajes: 22
Antigüedad: 13 años, 11 meses
Puntos: 0
Consulta MySQL

Hola, tengo un problema con una consulta enviada desde php a mysql, el tema es q tengo un dato con este formato: 6','3','5

tengo esta tabla:
codigo_tabla|valor
1 | valor1
2 | valor2
3 | valor3
4 | valor4
5 | valor5
6 | valor6

el valor lo capturo asi: $dato = html_escape(6','3','5);

y la consulta a la bd es:
function listar_tabla($dato= FALSE) {
if($dato){
$this->db->where_in('codigo_tabla', $dato);
$query = $this->db->get('tabla');
}else{
$query = $this->db->get('tabla');
}
return $query;
}
Cuando le envio la variable $dato esta funcion me devuelve esta consulta, tal cual:
SELECT * FROM (`tabla`) WHERE `codigo` IN ('6','3','5');
si copio y pego esta consulta directamente en el query no tengo ningun problema, el resultado que me da es:
codigo_tabla|valor
6 | valor6
3 | valor3
5 | valor5

pero cuando lo hace php automaticamente, entonces solo me devuelve:
codigo_tabla|valor
6 | valor6
y obvia los demas.

Como puedo solucionar esto??? la verdad es que nose que estoy haciendo mal, porfavor cualquier ayuda seria muy importante, gracias.
  #2 (permalink)  
Antiguo 27/09/2013, 13:53
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Consulta MySQL

creo que debes de usar un arreglo:

Código PHP:
Ver original
  1. $dato = array(6,5,3);

consulta la documentación de CI
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 27/09/2013, 15:01
 
Fecha de Ingreso: mayo-2010
Mensajes: 22
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Consulta MySQL

jajaja lo maximo maycolalvarez solucionaste mi problema, en realidad mi variable $dato es un varchar que guarde en mi bd que tiene esta informacion 3,5,7 (con comas) entonces lo que hago ahora es esto:

Código PHP:
Ver original
  1. //previamente he capturado todos los datos de la tabla en la variable "a" mediante consulta a la bd
  2. $dato= $this->a['dato']; //aki capturo solo "dato" en la variable $dato osea: $dato='3,5,7';
  3. $dato= explode(',', $dato); //aki me imagino que creo el array, verdad?, se que la funcion explode devuelve un array separado por cada "," (coma en este caso)

luego solo mando $dato a la funcion que hace la consulta a la bd. Ya no me ha dado problemas, pero es esta una forma correcta de hacerlo? haber si me dejas alguna sugerencia para mi trabajo futuro ya que soy nuevo y en php tengo programando un poco mas de un mes. gracias desde ya. 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 13:21.