Problemas con sentencia de consulta
Publicado por Bogeyboy (1 intervención) el 12/04/2006 09:32:03
Buenas tardes, estoy implementando un sitio web con PHP y MySQL para la gestión de apercibimientos en un centro educativo con varios apartados, uno de ellos es la búsqueda de profesores y alumnos.
Para la búsqueda de profesores y alumnos usé la misma sentencia SQL que funcionava perfectamente, (select * from alumnos where Nomalu like '%$buscanombre%'), que únicamente funciona para la búsqueda por un campo pero a la hora de rediseñar el formulario de búsqueda para introducirle también la búsqueda por el apellido no se que sentencia introducirle. Tengo el siguiente código para buscar únicamente por uno de los dos campos si el otro está vacío:
if ($buscanombre=='')
$sentencia=mysql_query("select * from alumnos where Apealu like '%$buscaapellido%'");
else if ($buscaapellido=='')
$sentencia=mysql_query("select * from alumnos where Nomalu like '%$buscanombre%'");
else
$sentencia=mysql_query("select * from alumnos where Nomalu like '%$buscanombre%' or where Apealu like '%$buscaapellido%'");
Este trozo funciona correctamente hasta antes del else último, pero la última sentencia no funciona, en teoría sería para buscar si hubiera introducido cualquier cosa en alguno de los dos campos. No se como hacerlo
Con esta sentencia escriba lo que escriba en los dos campos de búsqueda me da el siguiente error de sintaxis:
Algo está equivocado en su sintax cerca 'where Apealu like '%mu%'' en la linea 1
Donde 'mu' es lo que introduzco en el campo de búsqueda de apellidos. Aunque cambie en la sentencia el or por and sigue dando el mismo error.
Gracias, un saludo
Para la búsqueda de profesores y alumnos usé la misma sentencia SQL que funcionava perfectamente, (select * from alumnos where Nomalu like '%$buscanombre%'), que únicamente funciona para la búsqueda por un campo pero a la hora de rediseñar el formulario de búsqueda para introducirle también la búsqueda por el apellido no se que sentencia introducirle. Tengo el siguiente código para buscar únicamente por uno de los dos campos si el otro está vacío:
if ($buscanombre=='')
$sentencia=mysql_query("select * from alumnos where Apealu like '%$buscaapellido%'");
else if ($buscaapellido=='')
$sentencia=mysql_query("select * from alumnos where Nomalu like '%$buscanombre%'");
else
$sentencia=mysql_query("select * from alumnos where Nomalu like '%$buscanombre%' or where Apealu like '%$buscaapellido%'");
Este trozo funciona correctamente hasta antes del else último, pero la última sentencia no funciona, en teoría sería para buscar si hubiera introducido cualquier cosa en alguno de los dos campos. No se como hacerlo
Con esta sentencia escriba lo que escriba en los dos campos de búsqueda me da el siguiente error de sintaxis:
Algo está equivocado en su sintax cerca 'where Apealu like '%mu%'' en la linea 1
Donde 'mu' es lo que introduzco en el campo de búsqueda de apellidos. Aunque cambie en la sentencia el or por and sigue dando el mismo error.
Gracias, un saludo
Valora esta pregunta


0