Ver Mensaje Individual
  #20 (permalink)  
Antiguo 03/05/2010, 20:38
Avatar de gnzsoloyo
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: Unknown column 'paises' in 'where clause'

Bueno, voy a tener que hacer algunas deducciones, porque como te dije al principio de mis posts, no se debe poner código de programación en este foro. Es innecesario, confuso, irrelevante e ilegible para los que no estén habituados al lenguaje.
Bien.
El caso de la consulta lo vemos en este ejemplo:
Código MySQL:
Ver original
  1. SELECT  *
  2. FROM becas B INNER JOIN paises P ON B.id_pais = P.id_pais
  3. WHERE ".$searchtype." like '%".$searchterm."%';
Y yo creo que la clave de todos los problemas está en esta parte:
Cita:
".$searchtype." LIKE '%".$searchterm."%'
Verás: El problema para mí es establecer qué valores tienen $searchtype y $searchterm, porque hay una sola posibilidad:
Si se trata de buscar por país, por ejemplo, $searchtype debería ser el nombre del campo que guarda el nombre del país, y $searchterm el nombre del país seleccionado. En ese caso el ejemplo ya creado debería quedar, por ejemplo, así:
Código MySQL:
Ver original
  1. SELECT  *
  2. FROM becas B INNER JOIN paises P ON B.id_pais = P.id_pais
  3. WHERE P.nombre LIKE '%alemania%';
Lo mismo sería si se desea buscar por nombre de tipo de beca, o cualquiera de los campos de abas tablas. Sea cual sea el caso, el valor de $searchtype tiene forzosamente que ser un valor controlado, para que le asigne el nombre de campo conforme al tipo de selección que se realizará.

¿Se entiende la idea?

En tu script se infiere que $searchtype es un comboBox, donde los valores de las opciones no queda claro si son o no los nombres de los campos. SI no lo son, si no son exactamente los nombres de los campos, incluyendo el alias, no dará resultado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)