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

Comando LIKE

Estas en el tema de Comando LIKE en el foro de Mysql en Foros del Web. Buenos días: Sabiendo como funciona el comando LIKE, supongamos que yo tengo la siguiente tabla llamada "usuarios": ID NOMBRE CATEGORIA 1 Primero 10 2 Segundo ...
  #1 (permalink)  
Antiguo 12/08/2009, 21:27
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 2 meses
Puntos: 3
Comando LIKE

Buenos días:

Sabiendo como funciona el comando LIKE, supongamos que yo tengo la siguiente tabla llamada "usuarios":

ID NOMBRE CATEGORIA
1 Primero 10
2 Segundo 20
3 Tercero 10
4 Cuarto 10
5 Quinto 20
6 Sexto 20
7 Septimo 20
8 Octavo 10
9 Noveno 10
10 Decimo 20

Si quiere listar los nombres que comienzan con S:
SELECT * FROM usuarios WHERE nombre LIKE 'S%'

Como resultado me trae los nombres: Segundo, Sexto y Septimo.

Si quiero listar los nombres donde la categoria sea 20:
SELECT * FROM usuarios WHERE categoria LIKE '20'

Como resultado me trae los nombres: Segundo, Quinto, Sexto, Septimo y Decimo.

Pero si yo hago:
SELECT * FROM usuarios WHERE categoria LIKE ''

No me encuentra resultados. Quizás es obvio porque ninguna categoria está vacía... pero el problema que yo tengo, es que esa categoria a buscar viene por $_POST de una página anterior, en la cual puede quedar vacía (porque así lo necesito). La idea seria que si la variabla $_POST['categoria'] es vacía, al hacer esa sentencia me liste todos los usuarios, pero no me sale.

Espero entenderme... y desde ya muchas gracias.

Saludos
  #2 (permalink)  
Antiguo 12/08/2009, 21:40
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Comando LIKE

Hola

Al menos en lo que posteas falta el signo % en el Like

Código MySQL:
Ver original
  1. SELECT * FROM usuarios WHERE categoria LIKE '%'

Saludos desde el sur del mundo
  #3 (permalink)  
Antiguo 13/08/2009, 01:09
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Comando LIKE

Cita:
Iniciado por Jamati Ver Mensaje
Espero entenderme... y desde ya muchas gracias.
Saludos
no, si entenderte tu seguro que te entiendes a ver si te entiendo yo y para más inri me explico bien:

Entiendo que recoges la info de un formulario y que esta info (como el campo categoria) es la que pasas luego a la sentencia SQL. Lo que tendrías que hacer es, antes de ejecutar la sentencia SQL, asignar a una variable lo que hemos recogido como categoría, ver si está vacía, y si lo está asignarle la cadena '%', y será esa variable la que añadimos a la sentencia SQL.

O sea, quedaría asi (conceptualmente) es codigo inventado:

mivariable = contenidodelcampocategoria

if mivariable=NULL then
mivariable='%'
end if

SELECT * FROM usuarios WHERE categoria LIKE '" & mivariable & "'"

A ver si va!
  #4 (permalink)  
Antiguo 14/08/2009, 20:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Comando LIKE

Hola prunera:

Me ha servido de mucha ayuda lo qu eme dijiste.
Desde ya muchas gracias y problema resuelto de la forma que me contaste.

Adioss
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 22:32.