Foros del Web » Programando para Internet » PHP »

No se realiza la concatenacion SQL

Estas en el tema de No se realiza la concatenacion SQL en el foro de PHP en Foros del Web. Hola amigos, tengo el siguiente codigo para extraer registros segun una pabra y categorias : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $sitios = "SELECT * ...
  #1 (permalink)  
Antiguo 20/02/2010, 13:32
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Exclamación No se realiza la concatenacion SQL

Hola amigos, tengo el siguiente codigo para extraer registros segun una pabra y categorias :

Código PHP:
Ver original
  1. $sitios = "SELECT * FROM sitios WHERE keywords LIKE '%$_POST[referencia]%'";
  2. $extraer = mysql_query($sitios);
  3. if(!empty($_POST['categoria'])) $extraer .= "AND categoria = '$_POST[categoria]'";

Como vern la concatenacion se tendria que realizar si existe "categoria", y no se ejecuta, me muestra los resultados independientemente de la categoria que elija :S

No se que puede estar mal.... ¿Que me pueden decir??


Muchas gracias
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #2 (permalink)  
Antiguo 20/02/2010, 14:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: No se realiza la concatenacion SQL

Yo creo que en esta linea $extraer .= "AND categoria = '$_POST[categoria]'"; el $_POST debería ir concatenado con .$_POST['categoria']. Vaya eso es lo q creo que falla no se si tengo razón; nunca se me ha dado este caso. Y quiza en la cosulta SELECT ocurra lo mismo, pero ya te digo que no estoy segura es cuesitión de que lo pruebes.

Saludos!
  #3 (permalink)  
Antiguo 20/02/2010, 14:44
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: No se realiza la concatenacion SQL

No lo pude solucionar , pero como no lo voy a dejar asi, aplique otra forma de crearle el filtro a la busuqueda :P , lo dejo por si ayuda a alguien :
Código PHP:
Ver original
  1. if(!empty($_POST['categoria'])) {
  2. $cond1 =  "AND categoria_id = '".$_POST['categoria']."'";
  3. }
  4. else{
  5. }

Muchas gracias igual
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #4 (permalink)  
Antiguo 20/02/2010, 14:51
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: No se realiza la concatenacion SQL

La cadena que forma el SQL es $sitios y si haces la consulta antes de la condición pues siempre ingnorará la categoría; además si el id de la categoría es numérico, supongo, entonces debería quedar así:
Código PHP:
$sitios "SELECT * FROM sitios WHERE keywords LIKE '%$_POST[referencia]%'";
 if(!empty(
$_POST['categoria'])) $sitios .= " AND categoria = $_POST[categoria]";
$extraer mysql_query($sitios); 
prueba y nos comentas
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #5 (permalink)  
Antiguo 20/02/2010, 15:10
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: No se realiza la concatenacion SQL

Pero claro! jajja q tonto como no lo habia visto :P

Muchisimas gracias jcxnet
__________________
Por que solo seremos dueños de aquello que creemos y amemos

Etiquetas: sql
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 15:17.