Dudas sentencia búsqueda MySql

Hola 'pedroip'.
Ante todo gracias por atender mi pregunta.
El problema que tengo es con una sentencia de búsqueda en mi web que trabaja con apache, php y mysql.
Envío unos datos a través de un formulario ( son varias listas/menu con varias opciones)para hacer una búsqueda en una base de datos de vinos.
Cómo ejemplo para explicarme, decir que uno de los campos es 'pais' y el formulario envía dos posibles opciones:
1.- El nombre de un país
2.- El número '0' si no se selecciona ninguno.
Con esta segunda opción, lo que quiero es que me devuelva todos los países que haya en el campo 'pais'.
Es decir, lo que he hecho (lo que pretendo) es una búsqueda condicional, si aparece el nombre del país, enseño los registros de ese país y si no se selecciona ninguno ( variable='0' ) entonces se presentan todos los países del campo países.
La sentencia que he construido no funciona bien, sólo funciona la primera parte (presentar todos los países). Supongo que hay una o muchas cosas mal.
La sentencia de búsqueda es esta:
$query_maestra = "SELECT vino.id_vino, vino.nombre, vino.dominio, vino.region, vino.denominacion, vino.tipo, vino.uva, vino.cosecha, vino.precio, vino.tbotella, vino.coment, vino.califica, vino.imagen FROM vino ";
/* Si no se selecciona en el formulario ningún pais esta sentencia busca en todos los del campo pais de la tabla vino */
if ($_GET['pais']=='0') {
$query_maestra .= "WHERE(vino.pais=vino.pais) " ;
}
else {
$query_maestra .= "OR (vino.pais=='".$pais."') ";
}

1 respuesta

Respuesta
1
Si los campos de la select están bien y en país se pasa bien el valor ... tu código correcto es este.
$query_maestra = "SELECT vino.id_vino, vino.nombre, vino.dominio, vino.region, vino.denominacion, vino.tipo, vino.uva, vino.cosecha, vino.precio, vino.tbotella, vino.coment, vino.califica, vino.imagen FROM vino ";
/* Si no se selecciona en el formulario ningún país esta sentencia busca en todos los del campo país de la tabla vino */
if ($_GET['pais']!='0')
{
$query_maestra .= "WHERE(vino.pais='".$_GET['pais']."') " ;
}
Si funciona ... pasa una botellita ;)
Absolutamente perfecto! Fue colocar la sentencia tal y como la habías corregido y ya estaba todo funcionando. Muchísimas gracias.
Y la botella que quieras..., por supuesto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas