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

Quiero seleccionar si mi campo esta contenido select LIKE %

Estas en el tema de Quiero seleccionar si mi campo esta contenido select LIKE % en el foro de Mysql en Foros del Web. Buenas! Tengo una dudila... este es mi codigo Código PHP: $consulta_mysql = "select desc_es from bookings_items WHERE level = '$get_level' " ;  Y lo que quiero conseguir, es que : WHERE level ESTE ...
  #1 (permalink)  
Antiguo 19/12/2012, 10:51
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Quiero seleccionar si mi campo esta contenido select LIKE %

Buenas!
Tengo una dudila...
este es mi codigo
Código PHP:
$consulta_mysql="select desc_es from bookings_items WHERE level = '$get_level' "
Y lo que quiero conseguir, es que : WHERE level ESTE CONTENIDO EN $get_level
Lo lógico sería algo más o menos así

Código PHP:
$consulta_mysql="select desc_es from bookings_items WHERE %level% LIKE '$get_level' "
Pero no... no se si es que falta comillas, o es que "level" no puedo ponerlo como que me saque los que tengan el nivel contenido en la variable get level...


Muchisimas gracias
  #2 (permalink)  
Antiguo 19/12/2012, 10:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Por favor revisa la documentación de SQL estándar, para nada es un problema de código PHP, entiende que SQL es un lenguaje independiente.

Posiblemente necesitas usar funciones para texto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/12/2012, 11:04
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por pateketrueke Ver Mensaje
Por favor revisa la documentación de SQL estándar, para nada es un problema de código PHP, entiende que SQL es un lenguaje independiente.

Posiblemente necesitas usar funciones para texto.
Perdona, pero no te entendí :S te importa aclararme un poquillo más? muchas gracias :)
  #4 (permalink)  
Antiguo 19/12/2012, 11:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por pateketrueke Ver Mensaje
Por favor revisa la documentación de SQL estándar, para nada es un problema de código PHP, entiende que SQL es un lenguaje independiente.

Posiblemente necesitas usar funciones para texto.
Es que se que con % puede hacer que salga cuando esta contenido, pero querría hacerlo a la inversa. De esa manera si me sale
  #5 (permalink)  
Antiguo 19/12/2012, 11:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Lo voy a decir mas claro aún.

No es un problema de código PHP.

El problema es tu consulta, y eso es lenguaje SQL.

Tal vez necesitas usar funciones para comparación de texto, de SQL, por favor revisa una referencia de SQL.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 19/12/2012, 11:15
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

No entendi para nada que es lo que quieres hacer, tal vez deberias de explicarlo mejor.
__________________
Recursos para diseñadores
lacatedradeboris.com
  #7 (permalink)  
Antiguo 19/12/2012, 11:18
Avatar de 60NZ4  
Fecha de Ingreso: mayo-2012
Ubicación: 404 Not found
Mensajes: 112
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Es que....lo que no puede ser es que teniendo un error tan grande lo postes aquí, en cuanto pongas en google "SQL LIKE" te saldrá un ejemplo de la estructura que tiene que tener tu código, seria algo así

"select desc_es from bookings_items WHERE level LIKE '%".$get_level."%'";

espero que te sirva, recuerda antes de poner un hilo "googlear" un poco

un saludo
__________________
Nadie nace aprendido, un experto es simplemente alguien que ya ha cometido muchos errores
  #8 (permalink)  
Antiguo 19/12/2012, 11:31
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por 60NZ4 Ver Mensaje
Es que....lo que no puede ser es que teniendo un error tan grande lo postes aquí, en cuanto pongas en google "SQL LIKE" te saldrá un ejemplo de la estructura que tiene que tener tu código, seria algo así

"select desc_es from bookings_items WHERE level LIKE '%".$get_level."%'";

espero que te sirva, recuerda antes de poner un hilo "googlear" un poco

un saludo
Muchas gracias :)
Pero eso si me sale, lo que no me slae es que el LEVEL sea el que este contenido en GET_LEVEL :S

por ejemplo,
valores de level = S ó M ó T
Valores de get_level= GSM

por ejemplo, entonces que sea level el que esta contenido en get level, y no a la inversa. Gracias y perdon por las comillas
  #9 (permalink)  
Antiguo 19/12/2012, 11:36
Avatar de 60NZ4  
Fecha de Ingreso: mayo-2012
Ubicación: 404 Not found
Mensajes: 112
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

entonces entiendo que level es otra variable ¿no?

seria asi :

"select desc_es from bookings_items WHERE ".$get_level."LIKE '%".$level."%'";

un saludo
__________________
Nadie nace aprendido, un experto es simplemente alguien que ya ha cometido muchos errores
  #10 (permalink)  
Antiguo 19/12/2012, 11:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

ommm, ¿que parte de revisa la documentación de SQL no entiendes?

Yo si entiendo tu problema, lo que pasa es que tu no has entendido que debes revisar el manual de SQL.

Seguramente necesitas usar funciones para comparación de texto (de SQL) para resolver tu problema, ahí tienes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 19/12/2012, 11:37
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por HackGhost Ver Mensaje
No entendi para nada que es lo que quieres hacer, tal vez deberias de explicarlo mejor.
Perdona , no me expliqué muy bien.
Verás.
Dependiendo del nivel del usuario aparecen unos item entre el total que hay.

mi consulta es algo asi

$consulta_mysql= "select desc_es from bookings_items WHERE level = '$get_level' ";

get level es una variable que coge el nivel de usuario, y level es el campo de la tabla de los objetos.
Los objetos tienen asignados cada uno una letra, entonces, el $get_level, osea el nivel del usuario es por ejemplo ABC,
pues deberían de salirle los items que tengan en level A, los que tengas B , y los que tengan C

Espero haberme explicado mejor, muchas gracias.
  #12 (permalink)  
Antiguo 19/12/2012, 11:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Desacuerdo Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por pateketrueke Ver Mensaje
ommm, ¿que parte de revisa la documentación de SQL no entiendes?

Yo si entiendo tu problema, lo que pasa es que tu no has entendido que debes revisar el manual de SQL.

Seguramente necesitas usar funciones para comparación de texto (de SQL) para resolver tu problema, ahí tienes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 19/12/2012, 11:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por 60NZ4 Ver Mensaje
entonces entiendo que level es otra variable ¿no?

seria asi :

"select desc_es from bookings_items WHERE ".$get_level."LIKE '%".$level."%'";

un saludo

No, no es una variable, es un campo de la tabla bookings_items... Muchas gracias
  #14 (permalink)  
Antiguo 19/12/2012, 11:43
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

lo he buscado y lo que más se asemeja a lo que busco es el LIKE %, pero gracias igualmente
  #15 (permalink)  
Antiguo 19/12/2012, 11:48
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por ommm Ver Mensaje
Perdona , no me expliqué muy bien.
Verás.
Dependiendo del nivel del usuario aparecen unos item entre el total que hay.

mi consulta es algo asi

$consulta_mysql= "select desc_es from bookings_items WHERE level = '$get_level' ";

get level es una variable que coge el nivel de usuario, y level es el campo de la tabla de los objetos.
Los objetos tienen asignados cada uno una letra, entonces, el $get_level, osea el nivel del usuario es por ejemplo ABC,
pues deberían de salirle los items que tengan en level A, los que tengas B , y los que tengan C

Espero haberme explicado mejor, muchas gracias.
Creo que entiendo lo que quieres hacer, podrias tomas el level del usuario que por lo que entendi tiene mas de una letra y separarlos por coma, luego lo haces con IN , mas o menos asi
Código PHP:
Ver original
  1. $consulta_mysql="select desc_es from bookings_items WHERE level IN ('A','B','C')
__________________
Recursos para diseñadores
lacatedradeboris.com
  #16 (permalink)  
Antiguo 19/12/2012, 11:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Vaya, se nota que buscaste bien.

http://dev.mysql.com/doc/refman/5.5/...functions.html

Existe la función INSTR() que se usa así:
Cita:
mysql> SELECT INSTR('GSM', 'S');
+-------------------+
| INSTR('GSM', 'S') |
+-------------------+
| 2 |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT INSTR('GSM', 'Z');
+-------------------+
| INSTR('GSM', 'Z') |
+-------------------+
| 0 |
+-------------------+
1 row in set (0.00 sec)
Referencia:
http://dev.mysql.com/doc/refman/5.5/...function_instr

Cita:
Iniciado por ommm Ver Mensaje
lo he buscado y lo que más se asemeja a lo que busco es el LIKE %, pero gracias igualmente
PDTA: para resolver problemas hay que tener interés, dedicación y paciencia.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 19/12/2012, 11:53
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por HackGhost Ver Mensaje
Creo que entiendo lo que quieres hacer, podrias tomas el level del usuario que por lo que entendi tiene mas de una letra y separarlos por coma, luego lo haces con IN , mas o menos asi
Código PHP:
Ver original
  1. $consulta_mysql="select desc_es from bookings_items WHERE level IN ('A','B','C')
Muchas gracias,
Aunque creo que me volvi a explicar mal, los valores no estan separados por comas , level es una unica letra, por ejemplo A
Y $get_level, son varias, pero con poner la variable en lugar de esos valores, bastará, no? MUchas gracias
  #18 (permalink)  
Antiguo 19/12/2012, 12:02
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por ommm Ver Mensaje
Muchas gracias,
Aunque creo que me volvi a explicar mal, los valores no estan separados por comas , level es una unica letra, por ejemplo A
Y $get_level, son varias, pero con poner la variable en lugar de esos valores, bastará, no? MUchas gracias
Por eso te dije que veas la manera de separar las letras que hay en la variable $get_level por comas, tambien será necesario que pongas cada letra entre comillas, hay funciones en php que te ayudaran en eso.

SI pones solo la variable(que contiene mas de una letra) en el IN no funcionará como lo necesitas ya que IN compara cada uno de los valores que le pasas entre parentesis con el campo level y retorna los registros que contengan uno de esos valores.

es similar a hacer varios WHERE, esto haria lo mismo
Código PHP:
Ver original
  1. $consulta_mysql="select desc_es from bookings_items WHERE level='A' or level='B' or level='C'  "
__________________
Recursos para diseñadores
lacatedradeboris.com
  #19 (permalink)  
Antiguo 19/12/2012, 12:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por HackGhost Ver Mensaje
Por eso te dije que veas la manera de separar las letras que hay en la variable $get_level por comas, tambien será necesario que pongas cada letra entre comillas, hay funciones en php que te ayudaran en eso.

SI pones solo la variable(que contiene mas de una letra) en el IN no funcionará como lo necesitas ya que IN compara cada uno de los valores que le pasas entre parentesis con el campo level y retorna los registros que contengan uno de esos valores.

es similar a hacer varios WHERE, esto haria lo mismo
Código PHP:
Ver original
  1. $consulta_mysql="select desc_es from bookings_items WHERE level='A' or level='B' or level='C'  "
PERFECTO!

Muchísimas gracias,
he hecho lo que me has dicho con explode y nada, genial.

Muchas gracias

list($l_01,$l_02,$l_03,$l_04,$l_05,$l_06,$l_07,$l_ 08,$l_09) = explode(",",$get_level);


$consulta_mysql= "select desc_es from bookings_items WHERE level IN ('$l_01','$l_02','$l_03','$l_04','$l_05','$l_06',' $l_07','$l_08','$l_09')";
  #20 (permalink)  
Antiguo 19/12/2012, 12:31
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Con estas dos funciones de php bastará para hacer lo que te mencione:
Código PHP:
Ver original
  1. /*con esta funcion creas un array de la variable $get_level, donde en cada posicion del array se guarda una letra de la variable $get_level*/
  2. $arrayLevel=str_split($get_level);
  3. /*Aqui unes todos los elementos del array en una nueva cadena y separado por el primer parametro que tambien es una cadena(llamado pegamento o glue)*/
  4. $nuevaCadena = implode("\',\'", $arrayLevel);
  5. /*En el primer parametro se escapan las comillas, no se si esto funcione, no lo he probado. En este momento la variable nueva cadena deberia contener algo como:
  6. A','B','C
  7. Las letras fueron unidas por el pegamento(primer parametro), ahora solo faltan comillas al principio y al final que ya es facil
  8. */
  9. $parametroIN = "'".$nuevaCadena."'";
  10.  
  11. $consulta_mysql="select desc_es from bookings_items WHERE level IN ($parametroIN);
__________________
Recursos para diseñadores
lacatedradeboris.com
  #21 (permalink)  
Antiguo 19/12/2012, 12:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

¿De verdad prefieren eso solución que no es nada limpia ni escalable a usar INSTR() que es nativa?

Vaya perdida de tiempo.

Cita:
Iniciado por pateketrueke Ver Mensaje
Vaya, se nota que buscaste bien.

http://dev.mysql.com/doc/refman/5.5/...functions.html

Existe la función INSTR() que se usa así:


Referencia:
http://dev.mysql.com/doc/refman/5.5/...function_instr



PDTA: para resolver problemas hay que tener interés, dedicación y paciencia.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #22 (permalink)  
Antiguo 19/12/2012, 12:52
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por pateketrueke Ver Mensaje
¿De verdad prefieren eso solución que no es nada limpia ni escalable a usar INSTR() que es nativa?

Vaya perdida de tiempo.

A ver, es que estoy intentando aprender, ir cogiendo cosillas, y eso me funciona.
Además, perdona, pero es que tampoco tengo gran conocimiento de esto y la funcion esa que mencionas de INSTR si que estoy leyendo que te devuelve los caracteres que
obtiene de un campo X, las N letras que le digas, pero no sabría ahora mismo cmo aplicarlo, porque si me coge las 5 letras por ejemplo del $get_level, no sabría como seguir. Sigo teniendo el mismo problema de que me compare esa variable y el campo level

Igualmente, gracias
  #23 (permalink)  
Antiguo 19/12/2012, 12:54
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por pateketrueke Ver Mensaje
¿De verdad prefieren eso solución que no es nada limpia ni escalable a usar INSTR() que es nativa?

Vaya perdida de tiempo.
Parece que entiendes mucho... por que no muestras el codigo aplicado al problema que se necesita resolver?

ejemplo:
INSTR($A,$B);

INSTR() devuelve un numero si se encontró la cadena $B dentro de $A, este numero equivale a su posición. Esto no es aplicable (a mi parecer) ya que en la base de datos (segun lo explicado) cada registro tiene en el campo level UNA letra y la variable get_level contiene VARIAS Letras, por lo que si haces esto

INSTR(level,$get_level);

no habria resultado ya que level es solo una letra y estas buscando en el Una cadena...
__________________
Recursos para diseñadores
lacatedradeboris.com

Última edición por HackGhost; 19/12/2012 a las 12:55 Razón: error
  #24 (permalink)  
Antiguo 19/12/2012, 12:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

¿Algo así?
Código MySQL:
Ver original
  1. SELECT desc_es
  2. FROM bookings_items
  3. WHERE INSTR('$get_level', level) > 0
La clave está en el orden de los argumentos, no hay que ser genio para invertirlos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #25 (permalink)  
Antiguo 19/12/2012, 13:17
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Algo así?
Código MySQL:
Ver original
  1. SELECT desc_es
  2. FROM bookings_items
  3. WHERE INSTR('$get_level', level) > 0
La clave está en el orden de los argumentos, no hay que ser genio para invertirlos.
Aqui ya tienes otro metodo para aplicarlo...
__________________
Recursos para diseñadores
lacatedradeboris.com
  #26 (permalink)  
Antiguo 19/12/2012, 14:32
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Algo así?
Código MySQL:
Ver original
  1. SELECT desc_es
  2. FROM bookings_items
  3. WHERE INSTR('$get_level', level) > 0
La clave está en el orden de los argumentos, no hay que ser genio para invertirlos.
seré yo pero sigo sin verlo... Osea, me devuelve la posición de level(un caracter) dentro de $get_level(varios caracteres),
Y la posición esa no entiendo donde la usas....

Graaacias :)
  #27 (permalink)  
Antiguo 19/12/2012, 14:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Volvamos al principio.
Si ese campo tiene un sólo caracter, y sólo puede tener un sólo caracter, es completamente innecesario usar LIKE, en especial si la cadena con que compararás ese campo (y que está contenida en la variable), ya que un
Código MySQL:
Ver original
  1. campo LIKE '$cadena'
es semánticamente idéntico a
Código MySQL:
Ver original
  1. campo = '$cadena'
Entonces, no tiene ningún sentido intentar comparar si un caracter dado en el campo es parecidoa una cadena, si no se usan comodines (%). O es igual, o no lo es.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #28 (permalink)  
Antiguo 19/12/2012, 16:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Volvamos al principio.
Si ese campo tiene un sólo caracter, y sólo puede tener un sólo caracter, es completamente innecesario usar LIKE, en especial si la cadena con que compararás ese campo (y que está contenida en la variable), ya que un
Código MySQL:
Ver original
  1. campo LIKE '$cadena'
es semánticamente idéntico a
Código MySQL:
Ver original
  1. campo = '$cadena'
Entonces, no tiene ningún sentido intentar comparar si un caracter dado en el campo es parecidoa una cadena, si no se usan comodines (%). O es igual, o no lo es.

Es que no es que sea igual o no... es que este contenida en la variable.
Es decir, por ejemplo el campo level tiene un valor de A, y el get level tiene ABC

Entonces, lo que buscaba es que me mostrara los registros que level fuera A, por ejemplo

Muchas gracias,

Igualmente ya me ayudó a conseguirlo. Muchas gracias
  #29 (permalink)  
Antiguo 21/12/2012, 12:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quiero seleccionar si mi campo esta contenido select LIKE %

Cita:
Iniciado por ommm Ver Mensaje
seré yo pero sigo sin verlo... Osea, me devuelve la posición de level(un caracter) dentro de $get_level(varios caracteres),
Y la posición esa no entiendo donde la usas....

Graaacias :)
¿Lees la parte del WHERE?

Código MySQL:
Ver original
  1. WHERE INSTR('$get_level', level) > 0

Pues imagina que INSTR() devuelve 0, entonces no hay coincidencia, por ende el "> 0" devuelve FALSE.

En los casos donde si hay coincidencia cualquier valor superior a cero evaluaría en TRUE.

Todas las comparaciones de WHERE son booleanas, por lo tanto así es como funciona.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: contenido
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 14:32.