URGENTE Ayuda con consulta! gracias

abeliko
09 de Marzo del 2005
Tengo esta consulta:
$consulta=mysql_query("select * from incidencias where nombre_aula='$nombre_aula' and nombre_equipo='$nombre_equipo'",$conexion);

las restricciones están metidas mediante variables no? Bien, pues quiero que, en el caso de que la variable no tome ningún valor, es decir, sean todas las aulas y/o todos los equipos asignarle un valor a las variables que sea "indiferente" me explico? No kiero hacer más consultas, quiero que sea dinámica. gracias.

arturion
09 de Marzo del 2005
En mysql se utiliza un comodín, que es el % (porcentaje). Aunque sólo he visto que lo usen con comandos LIKE, así por ejemplo

mysql_query("SELECT * FROM incidencias WHERE nombre_aula LIKE '%$nombre_aula%'",$conexion);

te encontrará las filas que CONTIENEN el nombre del aula. Si en vez de esto, pones

mysql_query("SELECT * FROM incidencias WHERE nombre_aula LIKE '%'",$conexion);

supongo que te encuentra todas las filas.
Nunca he probado el comodín en sentencias con "=" en vez de "LIKE". Inténtalo, que nada pierdes.

Supongo que los valores de $nombre_aula y $nombre_equipo los tomas de un SELECT, entonces agrega al SELECT un OPTION que diga "Todas" y haz que al seleccionar "Todas", el valor de $nombre_aula o $nombre_equipo sea %.

Espero te sirva todo este enredadero que escribí.

ile
09 de Marzo del 2005
Sólo aclarar que el % se utiliza con el LIKE, no con el "=" simplemente porque lo tomaría como parte de la cadena de texto a buscar.

Y como dijo "arturion"
mysql_query("SELECT * FROM incidencias WHERE nombre_aula LIKE '%'",$conexion);
despliega todos los registros de la tabla, equivalente en resultado a no colocar la condición de búsqueda.

saludos!