Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta LIKE - Mysql

Estas en el tema de Consulta LIKE - Mysql en el foro de Mysql en Foros del Web. Hola amigos ¿Como andan? Les comento que tengo un inconveniente, tengo un query realizado en php donde busco "Activo" ; "Inactivo" y "Reservado", el problema ...
  #1 (permalink)  
Antiguo 12/03/2011, 15:18
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Consulta LIKE - Mysql

Hola amigos ¿Como andan? Les comento que tengo un inconveniente, tengo un query realizado en php donde busco "Activo" ; "Inactivo" y "Reservado", el problema es que cuando busco "Activo" me aparecen tambien los resultados de "Inactivo"

¿Hay posibilidad de que al buscar "Activo" no aparezcan tambien los "Inactivos"? La consulta llega desde " AND estado LIKE '%$_GET[estado]%' "


El query es:

Código PHP:
    $clientes do_query("SELECT * 
    FROM sistema
    WHERE id LIKE '%$_GET[id]%'
    AND estado LIKE '%$_GET[estado]%'

// cuando por $_GET envio Activo tambien aparecen los datos bajo el texto Inactivo 

Gracias a todos!
  #2 (permalink)  
Antiguo 12/03/2011, 17:11
 
Fecha de Ingreso: noviembre-2009
Mensajes: 226
Antigüedad: 14 años, 4 meses
Puntos: 19
Respuesta: Consulta LIKE - Mysql

Buenas,

Hombre podrías no poner LIKE, y sustituirlo por =.

Saludos!
  #3 (permalink)  
Antiguo 12/03/2011, 20:33
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Consulta LIKE - Mysql

Gracias por la pronta respuesta, te comento que no funciona, en el mismo query tengo varios like, cuando pongo = o =. da error.-

la linea es AND estado LIKE '%$_GET[estado]%'


Código PHP:
    $clientes do_query("SELECT * 
    FROM sistema
    WHERE id LIKE '%$_GET[id]%'
    AND estado LIKE '%$_GET[estado]%'
    AND tipodeoperacion LIKE '%$_GET[tipodeoperacion]%'
    AND tipoinmueble LIKE '%$_GET[tipoinmueble]%'    
    AND ambientes LIKE '%$_GET[ambientes]%'    
    AND aestrenar LIKE '%$_GET[aestrenar]%'
    AND barrio LIKE '%$_GET[barrio]%'    
    AND aptoprofesional LIKE '%$_GET[aptoprofesional]%'    
    AND usocomercial LIKE '%$_GET[usocomercial]%'
    AND calle LIKE '%$_GET[Calle]%'
    AND cliente LIKE '%$_GET[Cliente]%'
    AND telefonodecontactocliente LIKE '%$_GET[Telefono_Cliente]%'
    AND precio LIKE '%$_GET[Precio]%'
    AND antiguedad LIKE '%$_GET[Antiguedad]%'
    AND orientacion LIKE '%$_GET[Orientacion]%'
    AND expensas LIKE '%$_GET[Expensas]%'
    AND descripcion LIKE '%$_GET[Descripcion]%'
    ORDER BY `id` DESC
    LIMIT $inicio, $registros
    "
); 
Alguna otra forma?¿


Gracias denuevo!
  #4 (permalink)  
Antiguo 13/03/2011, 10:08
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Consulta LIKE - Mysql

hazlo asi tal vez funcione:

Recibe primero las variables:

Código PHP:
Ver original
  1. <?php
  2.  
  3.  $id= $_GET['id'];
  4.  $estado= $_GET['estado'];
  5.  
  6. $bd = mysql_connect ("localhost", "tu_usuario", "tu_password");
  7.     if ( !$bd )
  8.         die ("Error en la conexion con el DBMS");
  9.    
  10.     $base_datos = "tu_base_de_datos";
  11.     if ( !mysql_select_db ($base_datos, $bd) )
  12.         die ("Error seleccionando la base de datos");
  13.  
  14. $qry = "SELECT * from sistema
  15. WHEREid = ".$id."
  16. or estado = ".$estado." ";
  17.  
  18.  
  19. $resultado = mysql_query ($qry, $bd);
  20.    
  21.     if ( !$resultado )
  22.         die ("Error ejecutando la consulta");
  23.    
  24.     $num_filas = mysql_num_rows($resultado);
  25.  
  26.    
  27.      if ($num_filas ==0)
  28.      {
  29.      echo 'No se encontraron resultados';
  30.      }
  31.      
  32.     if ($num_filas > 0){       
  33.    
  34.         //aca  muestras los resultados.....
  35.  
  36. }
  37.          
  38.    
  39.         ?>
  #5 (permalink)  
Antiguo 14/03/2011, 10:00
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta LIKE - Mysql

Hola PxHx:

No entiendo por qué utilizas LIKE en lugar de =. Dices que te marca un error, pero no nos comentas qué error es el que te está marcando. No tengo conocimientos en PHP, pero las condiciones deberían quedar así:

AND estado = '$_GET[estado]'

El operador LIKE se utiliza para busqueda de patrones, así si por ejemplo tienes los siguientes datos

id
------------
1
11
111
2221
31333

y pones algo como esto id like '%1%' esto se traduce como (cualquier id que contenga el número 1) el resultado serían TODOS LOS REGISTROS. El operador % es un COMODÍN, esto quiere decir que puede haber CUALQUIER COSA antes del caracter de búsqueda y CUALQUIER COSA después del caracter de búsqueda.

Saludos
Leo

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 02:48.