Foros del Web » Programando para Internet » PHP »

Como realizar una busqueda en MySQL dependiendo lso ultimos 4 caracteres

Estas en el tema de Como realizar una busqueda en MySQL dependiendo lso ultimos 4 caracteres en el foro de PHP en Foros del Web. hola confia en que me puedan ayudar con un problema que tengo. les explico: Tengo un campo en una base de datos llamada "registro" y ...
  #1 (permalink)  
Antiguo 22/11/2008, 20:53
 
Fecha de Ingreso: diciembre-2007
Ubicación: estoy enfrente de la comp
Mensajes: 2
Antigüedad: 16 años, 11 meses
Puntos: 0
Como realizar una busqueda en MySQL dependiendo lso ultimos 4 caracteres

hola confia en que me puedan ayudar con un problema que tengo.

les explico:

Tengo un campo en una base de datos llamada "registro" y esta en la tabla "registro", se llama generacion (varchar(9)) y pues lo que quiero es que cuando realice una busqueda por generacion me me muestre los registros que tienen lo que busco en los ultimas 4 caracteres, pro ejemplo:

tengo
2002-2006
2006-2008
2000-2004
2006-2007
2001-2006

separadas pro un gion, entonces lo que quiero es que cuando haga una busqueda por generacion y le ponga a la caja de texto "2006", solo me estre los siguientes registros:

2002-2006
2001-2006

y no todos los que contengan "2006", ya trate de varias formas como las siguientes:
________________________________________________
<?PHP

$link = mysql_connect ('localhost', 'root', 'pass');

$bd = mysql_select_db('registro');


$result=mysql_query("SELECT * FROM registro where generacion like '%2006%'");

while ($datos=mysql_fetch_array($result)){

echo 'generacion ==> '.' '.$datos['generacion'].'<br>';

}
aun asi pues como era de suponerse me muestra todos los que tengan 2006
____________________________________________

trate de hacer como un contador, como ya se que su valor no pasa ni es menor que 9:

$cadena = "2002-2006"; // como ejemplo esta cadena
function captura($cadena)
{
$cuenta = strlen($cadenaenta los caracteres en la palabra
$selecciona = $cuenta-4;//ubica el 5 caracter
$captura = $cadena[$selecciona];//se ubica en la posicion donde se encuentra el caracter 5

}
echo $captura;

no se en que estoy mal, o si me puedan dar otra solucion recordando que la cadena es un registro guardado en una base de datos.

espero me haya explicado, soy nuevo en esto del foro, y espero haberlo posteado bien,

de antemano gracias!!

Atte su servidor

Hector G. Perez De Jesus
correo: [email protected]

Última edición por Th0r; 22/11/2008 a las 20:55 Razón: Error de variables
  #2 (permalink)  
Antiguo 22/11/2008, 21:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Como realizar una busqueda en MySQL dependiendo lso ultimos 4 caracteres

Prueba colocando así la consulta:
Código SQL:
Ver original
  1. SELECT * FROM registro WHERE generacion LIKE '%2006'
Fíjate que la única diferencia es que quité el comodín % al final, con eso debería darte los resultados esperados (todo registro que termine con '2006').
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 21:38.