Foros del Web » Programando para Internet » PHP »

query con LIKE

Estas en el tema de query con LIKE en el foro de PHP en Foros del Web. amigos tengo esto y me funciona bien en la consola de mysql select * from usuarios where rut_usu like '134%' quiero saber como puedo hacer ...
  #1 (permalink)  
Antiguo 12/12/2013, 14:14
 
Fecha de Ingreso: septiembre-2013
Ubicación: chile
Mensajes: 41
Antigüedad: 10 años, 6 meses
Puntos: 1
query con LIKE

amigos tengo esto y me funciona bien en la consola de mysql
select * from usuarios
where rut_usu like '134%'

quiero saber como puedo hacer lo mismo pero con variable en php
por que cuando lo correo , concateno o en duro no funciona

select * from usuarios
where rut_usu like '$number.'%' '

gracias..
  #2 (permalink)  
Antiguo 12/12/2013, 14:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: query con LIKE

¿Así?

Código PHP:
$foo 'bar';
$sql "SELECT * FROM table WHERE col LIKE '$foo%'"
PDTA: si no sabes utilizar las comillas ni concatenar adecuadamente te sugiero leer lo siguiente.

http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/12/2013, 14:57
 
Fecha de Ingreso: septiembre-2013
Ubicación: chile
Mensajes: 41
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: query con LIKE

amigo si lo hago, pero
mira tengo un listado .

1000000000
1300000000
1310000000
1010000000
solo deberia traerme 1000000000
pero me los muestra todos igual

$foo = '1000';
$sql = "SELECT * FROM table WHERE col LIKE '$foo%'";
  #4 (permalink)  
Antiguo 12/12/2013, 15:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: query con LIKE

Como sea, tu problema nada tiene que ver con PHP.

Es decir, deberías hacer la consulta a mano que es puro SQL para ver si funciona, ¿no te parece?

Cita:
SELECT * FROM table WHERE col LIKE '1000%'
Así te quitas la duda.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 12/12/2013, 15:06
 
Fecha de Ingreso: septiembre-2013
Ubicación: chile
Mensajes: 41
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: query con LIKE

por eso digo, directamente en mysql si funciona
SELECT * FROM DB_Personal
WHERE codigo LIKE '1000%'

pero en php


1000000000
1300000000
1310000000
1010000000

solo deberia traerme 1000000000
pero me los muestra todos igual

$foo = '1000';
$sql = "SELECT * FROM table WHERE col LIKE '$foo%'";
  #6 (permalink)  
Antiguo 12/12/2013, 15:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: query con LIKE

Bueno, pues si sigues mostrando el código de ejemplo que te mostré y jamás muestras el código real de como has aplicado la solución, ¿cómo esperas que adivinemos que haces mal?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 12/12/2013, 15:11
 
Fecha de Ingreso: septiembre-2013
Ubicación: chile
Mensajes: 41
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: query con LIKE

aqui esta..

$resultado=1000;

$queEmp1 ="SELECT * FROM DB_Personal WHERE codigo LIKE '$resultado%' " ;

$resEmp1 = mysql_query($queEmp1,$enlace_ext) or die(mysql_error());
$totEmp1 = mysql_num_rows($resEmp1);
echo $totEmp1;

if($totEmp1 > '1')
{
echo "entro :"

}
  #8 (permalink)  
Antiguo 12/12/2013, 15: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: query con LIKE

Modifica estás lineas:

Código PHP:
Ver original
  1. $resultado=1000;
  2.  
  3. $queEmp1 ="SELECT * FROM DB_Personal WHERE codigo LIKE '$resultado%' " ;
  4.  
  5. echo "SQL=$queEmp1";

¿Podrías copiar y pegar acá el resultado de dicha impresión?

Es decir, ¿la consulta cuando se imprime es correcta?

¿Si la copias y ejecutas directamente que pasa?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 12/12/2013, 15:21
 
Fecha de Ingreso: septiembre-2013
Ubicación: chile
Mensajes: 41
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: query con LIKE

esto me muestra
SQL=SELECT * FROM DB_Personal WHERE codigo LIKE '1000%' resulta :rector
100000200150
SQL=SELECT * FROM DB_Personal WHERE codigo LIKE '1000%' resulta :profe
100010000000
SQL=SELECT * FROM DB_Personal WHERE codigo LIKE '1000%' LIKE '1000%' resulta :director
101000000000
SQL=SELECT * FROM DB_Personal WHERE codigo LIKE '1000%' LIKE '1000%' resulta :asesor
101000000100

como ves aparecen codigos que empiezan con 1010 y no deberia ,
solo deberia aparecer los dos primeros

Etiquetas: mysql, query, select, usuarios, variable
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 04:02.