Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2009, 09:31
drak91
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 17 años, 6 meses
Puntos: 0
Búsqueda de coincidencias en base de datos

Hola buenas tardes.
Quisiera perdir ayuda en un tema que me trae de cabeza desde hace varias semanas, y no he logrado resolverlo del todo pese a leer y leer en este foro, por google...probar cosas yo mismo sin tener mucho conocimiento...

El asunto es que estoy realizando un archivo .php que hace una busqueda en una base de datos y presenta los datos en una tabla, con sus respectivas columnas y todo eso, bonito y tal.

El asunto es que quiero que se pueda hacer la busqueda en base a varios criterios, en mi caso, sería para buscar alumnos en base a criterios como "curso", "nombre" ...etc

Evidentemente en la tabla de la base de datos tengo sus respectivos campos, e inserto datos a la base de datos con otro archivo .php, un formulario evidentemente.

Aquí os dejo el código que tengo de momento:

Archivo buscarpor.php:

Código PHP:
<html>
<
body>
<
center>
<
form method="POST" action="buscarpor2.php">
Curso:
<
select name="buscarcurso">
        <
option selected="selected">Cualquiera</option>
        <
option value="6ºPrim. C">6ºPrimC</option>
        <
option value="1ºESO A">1ºESO A</option>
        <
option value="1ºESO B">1ºESO B</option>
        <
option value="1ºESO C">1ºESO C</option>
        <
option value="2ºESO A">2ºESO A</option>
        <
option value="2ºESO B">2ºESO B</option>
        <
option value="2ºESO C">2ºESO C</option>
        <
option value="3ºESO A">3ºESO A</option>
        <
option value="3ºESO B">3ºESO B</option>
        <
option value="3ºESO C">3ºESO C</option>
        <
option value="4ºESO A">4ºESO A</option>
        <
option value="4ºESO B">4ºESO B</option>
        <
option value="4ºESO C">4ºESO C</option>
        <
option value="1ºBach. A">1ºBachA</option>
        <
option value="1ºBach. B">1ºBachB</option>
        <
option value="2ºBach. A">2ºBachA</option>
        <
option value="2ºBach. B">2ºBachB</option>
     </
select>
Gravedad:
     <
select name="buscargravedad">
        <
option selected="selected">Cualquiera</option>
        <
option value="Leve">Leve</option>
        <
option value="Grave">Grave</option>
        <
option value="Muy Grave">Muy Grave</option>
     </
select>
     
Día:
     <
select name="dia">
        <
option selected="selected">Cualquiera</option>
        <
option value="1">1</option>
        <
option value="2">2</option>
        <
option value="3">3</option>
        <
option value="4">4</option>
        <
option value="5">5</option>
        <
option value="6">6</option>
        <
option value="7">7</option>
        <
option value="8">8</option>
        <
option value="9">9</option>
        <
option value="10">10</option>
        <
option value="11">11</option>
        <
option value="12">12</option>
        <
option value="12">13</option>
        <
option value="12">14</option>
        <
option value="12">15</option>
        <
option value="12">16</option>
        <
option value="12">17</option>
        <
option value="12">18</option>
        <
option value="12">19</option>
        <
option value="12">20</option>
        <
option value="12">21</option>
        <
option value="12">22</option>
        <
option value="12">23</option>
        <
option value="12">24</option>
        <
option value="12">25</option>
        <
option value="12">26</option>
        <
option value="12">27</option>
        <
option value="12">28</option>
        <
option value="12">29</option>
        <
option value="12">30</option>
        <
option value="12">31</option>
     </
select>
Mes:
     <
select name="mes">
        <
option selected="selected">Cualquiera</option>
        <
option value="1">1</option>
        <
option value="2">2</option>
        <
option value="3">3</option>
        <
option value="4">4</option>
        <
option value="5">5</option>
        <
option value="6">6</option>
        <
option value="7">7</option>
        <
option value="8">8</option>
        <
option value="9">9</option>
        <
option value="10">10</option>
        <
option value="11">11</option>
        <
option value="12">12</option>
     </
select>
Año:
     <
select name="ano">
        <
option selected="selected">Cualquiera</option>
        <
option value="2009">2009</option>
        <
option value="2010">2010</option>
        <
option value="2011">2011</option>
        <
option value="2012">2012</option>
        <
option value="2013">2013</option>
        <
option value="2014">2014</option>
        <
option value="2015">2015</option>
        <
option value="2016">2016</option>
        <
option value="2017">2017</option>
        <
option value="2018">2018</option>
        <
option value="2019">2019</option>
        <
option value="2020">2020</option>
     </
select>
Nombre y apellidos:
<
input type="text" name="alumno" size="40">
<
br>
<
center>
<
input type="submit" name="submit" value="Buscar" />
</
center>
</
center>
</
form>
</
center>
</
body>
</
html
Este archivito, gracias a su form, me lleva a un segundo archivo donde se realiza la consula, llamado buscarpor2.php:

Código PHP:
<title>Búsqueda de incidencias</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="../_estilos.css" rel="stylesheet" type="text/css" />

<br>
<table width="1612" border="1" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="12"><?php include("../header2.php");?></td>
    </tr>
  <tr class="negrita">
       <td><a href="../panel.html"><font size="5"><b>->INICIO</b></font></a></td>
       <td><a href="addsrv.php"><font size="5"><b>->Añadir incidencia</b></font></a></td>
    </tr>
 <tr>
    <th>Alumno</th>
    <th>Curso</th>
    <th>Infracción</th>
    <th>Sanción</th>
    <th>Gravedad</th>
    <th>Días expulsión</th>
    <th>¿Sanción Cumplida?</th>
    <th>P.Informante</th>
    <th>Fecha</th>
    <th>Última modificación</th>
</tr>
<?php 
 
include("../_config.php");
 
$resultado=mysql_query("SELECT * FROM $dbsrv WHERE alumno LIKE '%$alumno%'",$ofp);
 while(
$row=mysql_fetch_array($resultado)){
?>
     <tr>
    <td width="68"><b><?php  echo $row['alumno']; ?></b></td>
    <td width="68"><b><?php  echo $row['curso']; ?></b></td>
    <td width="31"><b><?php  echo $row['acto']; ?></b></td>
    <td width="31"><b><?php  echo $row['castigo']; ?></b></td>
    <td width="31"><b><?php  echo $row['gravedad']; ?></b></td>
    <td width="31"><b><?php  echo $row['expulsar']; ?></b></td>
    <td width="31"><b><?php  echo $row['cumplido']; ?></b></td>
    <td width="31"><b><?php  echo $row['profesor']; ?></b></td>
    <td width="31"><b><?php  echo $row['dia']; ?>-<?php  echo $row['mes']; ?>-<?php  echo $row['ano'] ;?></b></td>
    <td width="31"><b><?php  echo $row['diam']; ?>-<?php  echo $row['mesm']; ?>-<?php  echo $row['anom'] ;?></b></td>
   <td><a href="modsrv.php?key=<?php printf($row["id"]);?>">Modificar</a></td>
   <td><a href="delsrv.php?key=<?php printf($row["id"]);?>">Eliminar</a></td>
</tr>
<?php mysql_close($ofp);?>
</table>
El asunto es que en la consulta de "Selected" a la base de datos, no se que hacer para que me tenga en cuenta los demás campos de búsqueda de "buscarpor.php" y que busque resultados coincidentes sólo con lo que el usuario quiera.

Es decir, si pones curso 2ºESO B y nombre Pepito, que solo te salgan los resultados con nombre de Pepito en 2ºESO B, no los resultados de todo 2ºESO B y los resultados de todos los Pepitos xDDDD, espero haberme explicado bien.

Espero vuestra ayuda :P Confío en vosotros :D

Saludos y gracias de antemano, espero que sea fácil y no daros mucha guerra con el asunto :P