MySQL - Problemas con sentencia de consulta

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con sentencia de consulta

Publicado por Pedro Justo Palma (9 intervenciones) el 17/04/2006 23:31:17
Hay dos formas. si estan en tablas diferentes combinandolas con on y checando las coincidencias ("select * from alumnos where nombretabla.apellido="" && nombretabla.nombre="" Eso si estan en la misma tabla sino hay que combinarlas
("select * from tabla1,tabla2 where tabla1.apellido="" && tabla2.nombre=""
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con sentencia de consulta

Publicado por Blanca (1 intervención) el 16/10/2015 03:21:07
Pusiste 2 veces where y tambien
$sentencia=mysql_query("select * from alumnos where Nomalu like '%$buscanombre%' or where Apealu like '%$buscaapellido%'");

la sentencia deberia ser mas o menos asi
$sentencia=mysql_query("select * from alumnos where Nombre like '%$buscanombre%' or Apellido like '%$buscaapellido%'");

o si probas
$sentencia=mysql_query("select * from alumnos where Nombre like '%$buscanombre%' and Apellido like '%$buscaapellido%'");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar