Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2005, 20:16
iarrieta
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Consulta a tablas con campos comunes

Hola:

Me pidieron un codigo que, por lo que me he documentado, debe ser algo asi:

Tabla estudiantes:
id
cedula
nombre
fecha_nac
telefono

Tabla materias:
id
materia

Tabla notas:
id
cedula
materia
nota
año
periodo
semestre


La idea es que el estudiante se encuentra una pagina con un form de usuario y password, al ingresar correctamente se encuentra con una pagina donde se le muestran sus materias con notas, semestre, año, etc

Hasta ahora, ya funciona el ingreso del usuario por medio de php y cookies, tambien los form para ingresar datos a la base de datos (no hice las tablas "relacionadas" porque siempre arrojaba error y no se como ingresar datos a varias tablas a la vez, mucho menos si se relacionan entre si), son tres form, uno para cada tabla.

Lo que no se hacer es usar correcatmente el famoso INNER JOIN con las tres tablas o con dos, no lo se. Se supone que lo que se va a mostrar es la informacion de las tablas "materias" y "notas", pero de la persona que ingreso con su clave, el mismo de la tabla "estudiantes" donde el campo comun es "cedula"

Coloco los codigos para mejor entender...

El formulario de ingreso:
Código HTML:
<form name="estudiante" method="post" action="ingreso.php">
                      <table width="390" border="0" cellspacing="0" cellpadding="2">
                        <tr class="general">
                          <td width="167"><div align="right">Estudiante</div></td>
                          <td width="4">&nbsp;</td>
                          <td width="198"><div align="left">
                            <input name="nombre" type="text" id="nombre">
                          </div></td>
                        </tr>
                        <tr class="general">
                          <td width="167"><div align="right">C&oacute;digo</div></td>
                          <td width="4">&nbsp;</td>
                          <td width="198"><div align="left">
                            <input name="cedula" type="password" id="cedula">
                          </div></td>
                        </tr>
                        <tr class="general">
                          <td colspan="3">&nbsp;</td>
                          </tr>
                        <tr class="general">
                          <td colspan="3"><div align="center">
                            <input type="submit" name="Submit" value="Ingresar">
                          </div></td>
                          </tr>
                      </table>
                    </form> 

Ahora, ingreso.php
Código PHP:
<?php 
include ("config.php"); 

function 
quitar($mensaje

$mensaje str_replace("<","&lt;",$mensaje); 
$mensaje str_replace(">","&gt;",$mensaje); 
$mensaje str_replace("\'","'",$mensaje); 
$mensaje str_replace('\"',"&quot;",$mensaje); 
$mensaje str_replace("\\\\","&#92",$mensaje); 
return 
$mensaje


if(
trim($HTTP_POST_VARS["nombre"]) != "" && trim($HTTP_POST_VARS["cedula"]) != ""

$nickN quitar($HTTP_POST_VARS["nombre"]); 
$passN quitar($HTTP_POST_VARS["cedula"]); 

$result mysql_query("SELECT cedula FROM estudiantes WHERE nombre='$nickN'"); 
if(
$row mysql_fetch_array($result)) 

if(
$row["cedula"] == $passN
{  
?>  
<SCRIPT LANGUAGE="javascript"> 
location.href = "informacion.php"; 
</SCRIPT> 
<? 

else 

?>  
<SCRIPT LANGUAGE="javascript"> 
location.href = "error.php"; 
</SCRIPT> 
<? 


else 

?>  
<SCRIPT LANGUAGE="javascript"> 
location.href = "error.php"; 
</SCRIPT> 
<? 

mysql_free_result($result); 

else 

?>  
<SCRIPT LANGUAGE="javascript"> 
location.href = "error.php"; 
</SCRIPT> 
<? 

mysql_close(); 
?>
***Es un codigo ya reusado por mi y si le quito los dos enlaces de error que estan, no me funciona el codigo***


Ahora, login.php (nunca tuve muy claro su uso):
Código PHP:
<?php 
$loginCorrecto 
false
$idUsuarioL
$nickUsuarioL
$fechaUsuarioL
$telefonoUsuarioL
if(isset(
$HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"])) 

$result mysql_query("SELECT * FROM estudiantes WHERE nombre='".$HTTP_COOKIE_VARS["usNick"]."' AND cedula='".$HTTP_COOKIE_VARS["usPass"]."'"); 

if(
$row mysql_fetch_array($result)) 

setcookie("usNick",$HTTP_COOKIE_VARS["usNick"],time()+7776000); 
setcookie("usPass",$HTTP_COOKIE_VARS["usPass"],time()+7776000); 
$loginCorrecto true
$idUsuarioL $row["id"]; 
$nickUsuarioL $row["nombre"]; 
$fechaUsuarioL $row["fecha_nac"]; 
$telefonoUsuarioL $row["telefono"]; 

else 

//Destruimos las cookies. 
setcookie("usNick","x",time()-3600); 
setcookie("usPass","x",time()-3600); 

mysql_free_result($result); 

?>
Luego, debo ir si es correcto el login, a una pagina informacion.php que es en donde debo mostrar los datos de materi, nota, semestre, etc (esa pagina incluye en su parte superior lo siguiente:
Código PHP:
<?
include ("config.php");
include (
"login.php");
?>
donde config. php es la conexion a la base de datos

Espero puedan ayudarme, gracias