Hace tiempo que no me pasaba por aquí... (php) pero ahora hay algo que me tiene muy perdido, os lo explico:
Tengo una tabla (en MySQL) con datos de conciertos, mas concretamente estan el dia, mes, grupo, localidad... etc.
Y mi idea es que desde un formulario el usuario ponga las condiciones de los conciertos que quiere que se muestre.
Entonces, ya tengo el formulario, con 5 casillas donde introducir: localidad, provincia, grupo, dia y mes. Ese formulario va a otra página donde se tendrían que procesar las variables, y mostrar unicamente los registros que cumplan todas las opciones.
Y ahi me he liado. Lo que yo he hecho es poner por medio de "if" todas las posibilidades posibles de aparición de una o mas variables, porque hay que tener en cuenta que un usuario puede buscar usando una sola condición (mes por ejemplo) y otro puede usar mas de una (grupo y día por ejemplo)
Entonces, mi codigo es este:
Código PHP:
//Conexion con la base
mysql_connect("xxxxx","xxxxx","xxxxxx");
if (isset($provincia) and !isset($localidad) and !isset($dia) and !isset($mes) and !isset($grupo)){
$busqueda= "provincia='$provincia'"; }
if (isset($provincia) and isset($localidad) and !isset($dia) and !isset($mes) and !isset($grupo)){
$busqueda= "provincia='$provincia' and localidad='$localidad'"; }
if (isset($provincia) and !isset($localidad) and isset($dia) and !isset($mes) and !isset($grupo)){
$busqueda= "provincia='$provincia' and dia='$dia'"; }
if (isset($provincia) and !isset($localidad) and !isset($dia) and isset($mes) and !isset($grupo)){
$busqueda= "provincia='$provincia' and mes='$mes'"; }
if (isset($provincia) and !isset($localidad) and !isset($dia) and !isset($mes) and isset($grupo)){
$busqueda= "provincia='$provincia' and grupo='$grupo'"; }
if (isset($provincia) and isset($localidad) and isset($dia) and !isset($mes) and !isset($grupo)){
$busqueda= "provincia='$provincia' and localidad='$localidad' and dia='$dia'"; }
if (isset($provincia) and isset($localidad) and !isset($dia) and isset($mes) and !isset($grupo)){
$busqueda= "provincia='$provincia' and localidad='$localidad' and mes='$mes'"; }
if (isset($provincia) and isset($localidad) and !isset($dia) and !isset($mes) and isset($grupo)){
$busqueda= "provincia='$provincia' and localidad='$localidad' and grupo='$grupo'"; }
if (isset($provincia) and !isset($localidad) and isset($dia) and isset($mes) and !isset($grupo)){
$busqueda= "provincia='$provincia' mes='$mes' dia='$dia'"; }
if (isset($provincia) and !isset($localidad) and isset($dia) and !isset($mes) and isset($grupo)){
$busqueda= "provincia='$provincia' and grupo='$grupo' and dia='$dia'"; }
if (isset($provincia) and !isset($localidad) and !isset($dia) and isset($mes) and isset($grupo)){
$busqueda= "provincia='$provincia' and mes='$mes' and grupo='$grupo'"; }
if (isset($provincia) and isset($localidad) and isset($dia) and isset($mes) and !isset($grupo)){
$busqueda= "provincia='$provincia' and localidad='$localidad' and dia='$dia' and mes='$mes'"; }
if (isset($provincia) and isset($localidad) and isset($dia) and !isset($mes) and isset($grupo)){
$busqueda= "provincia='$provincia' and localidad='$localidad' and dia='$dia' and grupo='$grupo'"; }
if (isset($provincia) and isset($localidad) and !isset($dia) and isset($mes) and isset($grupo)){
$busqueda= "provincia='$provincia' and localidad='$localidad' and grupo='$grupo' and mes='$mes'"; }
if (isset($provincia) and !isset($localidad) and isset($dia) and isset($mes) and isset($grupo)){
$busqueda= "provincia='$provincia' and grupo='$grupo' and dia='$dia' and mes='$mes'"; }
if (isset($localidad) and !isset($provincia) and !isset($dia) and !isset($mes) and !isset($grupo)){
$busqueda= "localidad='$localidad'"; }
if (isset($localidad) and !isset($provincia) and isset($dia) and !isset($mes) and !isset($grupo)){
$busqueda= "localidad='$localidad' and dia='$dia'"; }
if (isset($localidad) and !isset($provincia) and !isset($dia) and isset($mes) and !isset($grupo)){
$busqueda= "localidad='$localidad' and mes='$mes'"; }
if (isset($localidad) and !isset($provincia) and !isset($dia) and !isset($mes) and isset($grupo)){
$busqueda= "localidad='$localidad' and grupo='$grupo'"; }
if (isset($localidad) and !isset($provincia) and isset($dia) and isset($mes) and !isset($grupo)){
$busqueda= "localidad='$localidad' and mes='$mes' and dia='$dia'"; }
if (isset($localidad) and !isset($provincia) and isset($dia) and !isset($mes) and isset($grupo)){
$busqueda= "localidad='$localidad' and grupo='$grupo' and dia='$dia'"; }
if (isset($localidad) and !isset($provincia) and !isset($dia) and isset($mes) and isset($grupo)){
$busqueda= "localidad='$localidad' and mes='$mes' and grupo='$grupo'"; }
if (isset($localidad) and !isset($provincia) and isset($dia) and isset($mes) and isset($grupo)){
$busqueda= "localidad='$localidad' and grupo='$grupo' and dia='$dia' and mes='$mes'"; }
if (isset($dia) and !isset($localidad) and !isset($provincia) and !isset($mes) and !isset($grupo)){
$busqueda= "dia='$dia'"; }
if (isset($dia) and !isset($localidad) and !isset($provincia) and isset($mes) and !isset($grupo)){
$busqueda= "dia='$dia' and mes='$mes'"; }
if (isset($dia) and !isset($localidad) and !isset($provincia) and !isset($mes) and isset($grupo)){
$busqueda= "dia='$dia' and grupo='$grupo'"; }
if (isset($dia) and !isset($localidad) and !isset($provincia) and isset($mes) and isset($grupo)){
$busqueda= "dia='$dia' and mes='$mes' and grupo='$grupo'"; }
if (isset($mes) and !isset($localidad) and !isset($dia) and !isset($provincia) and !isset($grupo)){
$busqueda= "mes='$mes'"; }
if (isset($mes) and !isset($localidad) and !isset($dia) and !isset($provincia) and isset($grupo)){
$busqueda= "mes='$mes' and grupo='$grupo'"; }
if (isset($grupo) and !isset($localidad) and !isset($dia) and !isset($provincia) and !isset($mes)){
$busqueda= "grupo='$grupo'"; }
$consulta=mysql_db_query("base_de_datos","select * from conciertos where '$busqueda' order by dia");
Y no se porque, nunca encuentra nigún resultado. Es decir, debe de fallar algo de ese código... (y como me suele pasar, quizas sea lo mas simple)
Agradeceria cualquier ayuda
Muchas gracias amigos
, cuando estes programando y veas que hay muchos ifs seguidos replanteate el codigo porque seguro que debe haber otra solucion. No se si sabras algo de costes de algoritmos pero tu codigo es un pelin ineficiente en cuanto a costes.
eso si, luego acabe viendo isset y simbolitos de admiración ( ! ) por todos lados

jeje,, razon.. no habia visto la llave } anterior..
jeje

