JavaScript - Problemas

 
Vista:

Problemas

Publicado por Carlos Corona (2 intervenciones) el 15/08/2008 21:20:42
Realmente no estoy muy seguro de que mi duda debiera estar en este foro... estoy programando una pagina web con ajax... tengo un archivillo php que realiza consultas sql a una base de datos en postgres, una pagina html que muestra los resultados de una busqueda y un archivo js que controla todo.

Ahora, tengo tres tipos de consultas, dependiendo de lo que quiera consultar: si por titulo, por autor o por año. Las primeras dos consultas ya funcionan adecuadamente, pero la mas simple me esta dando mucha lata, se supone que estoy buscando todos los datos de una tabla donde el campo año coincida con almenos un fragmento del año...

mi consulta termina así:

WHERE anio like '%abuscar%'...

y no funciona!!!

lo probé directo con el pgadmin y ahi si jala... entonces creo que el problema está en el javascript, quizas mi construccion no está bien...

reproduzco mi código en ese fragmento:

if (TipoBus == 3)
{
condiciones = "WHERE anio like '%"+abuscar+"%' ";
}

....

alguna sugerencia??

ahh olvide comentarles, si lo cambio por:
if (TipoBus == 3)
{
condiciones = "WHERE anio ="+abuscar+" ";
}

si funciona, pero obviamente tiene que coincidir todo el numero....

alguna sugerencia?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas

Publicado por weirdmix (185 intervenciones) el 19/08/2008 23:39:52
lo primero q re recomiendo es q las cadenas de las queries no las crees en javascript, sino mas bien en php...

Lo segundo es q hagas store procedures q ademas de ser mas rapidos, lo unico q tienes q hacer es mandarle el(los) parametros necesarios. No se si esto te sea posible porq no conozco postgre (igual y pudieras cambiarte a MySql ya q ahi si puedes hacer SP's con la version 5...)

lo tercero son dos cosas:
1) Poner una diagonal inversa antes del caracter especial % asi:
condiciones = "WHERE anio like '\%"+abuscar+"\%' ";
2) Poner asi con una funcion de javascript:
escape(condiciones);
Esto ultimo cuando lo mandes via AJAX.

Espero te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar