Bases de Datos > MySQL

 BUSCADOR CON PHP Y MYSQL CON 2 TABLAS DIFERENTES - Alumno -C

(1/1)

gambitodx:
hola de nuevo gente, una consulta estoy haciendo un buscador en php y mysql ejemplo:

base de datos: bdatos_tomas

tengo dos tablas:

1.- alumnos (id_alumno, nombre, fecha_nac, direccion, telefono) y

2.-calificaciones (id_cal, parcial1, parcial2, parcial3, promedio, condicion, id_alumno)

Mi consulta es la siguiente:

e diseñado un formulario en php, donde tengo un campo de texto y un boton-"buscar".

Cuando ingreso el id_alumno del estudiante en la campo de texto y pulso en boton "BUSCAR "me busque el (id_alumno, nombre, direccion, parcial1, parcial2, parcial3, promedio, condicion.)

pues el buscador, tienes que extraer de dos tablas diferente, los  registro.
Con una tabla no tengo problemas, ya que me busca el id_alumno y la direccion. Mas no el parcial1 parcial 2, parcial3, promedio, condicion.

base de datos: bdatos_tomas
------------------------------------------------
    alumnos                +      calificaciones
------------------------------------------------
                                +
id_alumno *                +     id_calificacion
nombre                     +      parcial1
direccion                   +   parcial2
............                 +   parcial3
.............                +   promedio
.............                +   condicion
..............               +   * id_alumno
--------------------------------------------------

en una pagina hecho en "resultado.php" me muestre el siguiente ejemplo:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
id_alumno  +  nombre  +  direccion  +  pacial1  +  parcial2  +  parcial 3  +  promedio  +  condicion
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   001         +  genaro  +   calle 10    +  20        +    18        +     19         +      19        +  aprobado

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


 Pues solo me muestra como esto, sin parcial1, parcial2, parcial3, promedio, condicion que pertenecen a la tabla calificaciones:



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
id_alumno  +  nombre  +  direccion  +  pacial1  +  parcial2  +  parcial 3  +  promedio  +  condicion
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   001         +  genaro  +   calle 10    + .......... +  ...........  + ........... +..............+.................  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


gracia por ante mano gente del foro soloCodigos :good:


Bueno aqui dejo el codigo php:




--- Código: PHP ---  <html><head><title>Buscador simple en PHP</title></head><body><form action="busprueba.php" method="post">Buscar: <input name="palabra"><input type="submit" name="buscador" value="Buscar"></form><div align="left">  <?if ($_POST['buscador']){// Tomamos el valor ingresado$buscar = $_POST['palabra']; // Si está vacío, lo informamos, sino realizamos la búsquedaif(empty($buscar)){echo "No se ha ingresado una cadena a buscar";}else{  // Conexión a la base de datos y seleccion de registros$con=mysql_connect("localhost","root","mysql");$sql = "SELECT * FROM alumnos WHERE nombre like '%$buscar' ORDER BY id_alumno DESC";mysql_select_db("bdatos_tomas", $con);   $result = mysql_query($sql, $con);  // Tomamos el total de los resultados$total = mysql_num_rows($result); // Imprimimos los resultadosif ($row = mysql_fetch_array($result)){echo "Resultados para: <b>$buscar</b>";do {?>      <table width="729" border="1">    <tr>      <td width="30" height="26">id</td>      <td width="184">nombre y apellido</td>      <td width="121">direccion</td>      <td width="61">Parcial 1 </td>      <td width="67">Parcial 2</td>      <td width="65">Parcial 3</td>      <td width="59">Promedio</td>      <td width="90">Condicion</td>    </tr>    <tr>      <td><b><a href="busprueba.php?id=<?=$row['id_alumno'];?>">        <?=$row['id_alumno'];?>      </a></b></td>      <td><b><a href="busprueba.php?id=<?=$row['id_alumno'];?>">        <?=$row['nombre'];?>      </a></b></td>      <td><b><a href="busprueba.php?id=<?=$row['id_alumno'];?>">        <?=$row['direccion'];?>      </a></b></td>      <td><b><a href="busprueba.php?id=<?=$row['id_alumno'];?>">        <?=$row['parcial1'];?>      </a></b></td>      <td><b><a href="busprueba.php?id=<?=$row['id_alumno'];?>">        <?=$row['paricial2'];?>      </a></b></td>      <td><b><a href="busprueba.php?id=<?=$row['id_alumno'];?>">        <?=$row['paricial3'];?>      </a></b></td>      <td><b><a href="busprueba.php?id=<?=$row['id_alumno'];?>">        <?=$row['promedio'];?>      </a></b></td>      <td><b><a href="busprueba.php?id=<?=$row['id_alumno'];?>">        <?=$row['condicion'];?>      </a></b></td>    </tr>  </table></div><p> </p>        <?} while ($row = mysql_fetch_array($result));echo "<p>Resultados: $total</p>";} else {  // En caso de no encontrar resultadosecho "No se encontraron resultados para: <b>$buscar</b>";}}}?>      

alexg88:
Es imposible que te muestre esos datos si no realizas una consulta sobre la tabla calificaciones.


--- Código: SQL ---SELECT * FROM alumnos WHERE nombre LIKE '%$buscar' ORDER BY id_alumno DESC 
Aquí sólo estas realizando una consulta sobre la tabla alumnos.


--- Código: SQL ---SELECT * FROM alumnos NATURAL INNER JOIN calificaciones WHERE nombre LIKE '%$buscar' ORDER BY id_alumno DESC 
Ahora si tienes los datos de las dos tablas.

Espero que te sirva y pregúntame si tienes dudas.

gambitodx:

--- Cita de: "alexg88" ---Es imposible que te muestre esos datos si no realizas una consulta sobre la tabla calificaciones.


--- Código: SQL ---SELECT * FROM alumnos WHERE nombre LIKE '%$buscar' ORDER BY id_alumno DESC 
Aquí sólo estas realizando una consulta sobre la tabla alumnos.


--- Código: SQL ---SELECT * FROM alumnos NATURAL INNER JOIN calificaciones WHERE nombre LIKE '%$buscar' ORDER BY id_alumno DESC 
Ahora si tienes los datos de las dos tablas.

Espero que te sirva y pregúntame si tienes dudas.
--- Fin de la cita ---



hola cibert amigo ahora tengo un pequeño problemilla  al modificar la consulta me sale sale error: gracias por la molestia :rolleyes:  espero me que ayudes a solucionar  ;)

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in  busprueba.php on line 35

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in busprueba.php on line 38
No se encontraron resultados para: manuel

alexg88:
Cambia NATURAL INNER JOIN por NATURAL JOIN

Es que dependiendo de la base de datos es una u otra y en MySQL es de la segunda forma.

A ver si con eso se soluciona.

gambitodx:

--- Cita de: "alexg88" ---Cambia NATURAL INNER JOIN por NATURAL JOIN

Es que dependiendo de la base de datos es una u otra y en MySQL es de la segunda forma.

A ver si con eso se soluciona.
--- Fin de la cita ---


GRACIAS CIBERT AMIGO alexg88 ME FUNCIONA PERFECTO.... MIL GRACIAS NOS VEMOS... :D

Navegación

[0] Índice de Mensajes

Ir a la versión completa