Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/11/2009, 12:09
pedrolp
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 15 años
Puntos: 0
Respuesta: Transacciones en un sistema php

Buenas, pude resolver mi problema con las dichosas consultas e ingresos, todo va ok! a la hora de ingresar datos, pero ahora viene un pequeño detalle, x el paso de variables, bueno va masomenos de esta forma:

En principal.php
===========

Pagina de menu principal del profesor, ahi direcciono hacia notas.php en donde va comenzar la asignacion de notas por cada alumno, el detalle es que en esta pagina hago lo siguiente:

<?php
session_start();
require_once("../conexion/parametrosdb.php");
include('../conexion/conectdb.php');
echo "<center>Bienvenido Profesor<br>";
$id = $_SESSION["id_user"];
$user = $_SESSION["user"];
echo $id."<br>";
echo $user."<br>";

//Consulta para poder utilizar los datos del usuario, en este caso, del profesor:

$sql = "SELECT codProf FROM profesores WHERE id_persona = '$id'";
$rs = mysql_query($sql);
$data = mysql_fetch_row($rs);
$codprofesor = $data["0"];
?>

Como pueden ver, recojo los datos de un previo logueo de usuario con ellos tomo referencia para poder obtener el codigo de profesor, con el cual lo envio hacia la pagina de notas.php de la siguiente manera:

<tr>
<td align="center"><a href="notas.php?codigo=<?=$codprofesor?>">Ingresar Notas</a></td>
</tr>

Bueno es toda una tabla pero con esto creo que me entienden.

notas.php
=======

Lo que hace en esta pagina es ingresar mediante un formulario todos los campos necesarios para ingresar las notas, mas añandiendo un archivo de la siguiente forma:

<tr>
<td align="right">Seleccione un alumno:&nbsp;&nbsp;</td>
<td><?php include("ingresar.php"); ?></td>
</tr>

En la que ingresar.php hace lo siguiente:

Código PHP:
<?php
session_start
();
require_once(
"../conexion/parametrosdb.php");
include(
'../conexion/conectdb.php');
$codprofesor $_GET["codigo"];    //codigo del profesor que se envia desde la pagina principal.php

/* ####################### Consulta a la BD ################################ */

$sql "SELECT p.id_persona, p.nombres, p.apaterno, p.amaterno, a.codAlumno, da.cod_detalle, da.codProf,
        da.id_curso, c.nomcurso
        FROM persona p
        INNER JOIN alumno a ON p.id_persona=a.id_persona
        INNER JOIN detalle_alumno da ON a.codAlumno=da.codAlumno
        INNER JOIN curso c ON da.id_curso=c.id_curso
        WHERE codProf='$codprofesor'"
//verifica mediante el codigo del profesor

$rs mysql_query($sql);
$num mysql_num_rows($rs);

if(
$num 0){
    echo 
"<select name='alumnos'><option selected>Seleccione</option>";
    while(
$data=@mysql_fetch_array($rs)){        
        
$nombres $data["nombres"];
        
$ap $data["apaterno"];
        
$am $data["amaterno"];
        
$codAlumno $data["codAlumno"];
        
$codprof $data["codProf"];
        
$cod_detalle $data["cod_detalle"];
        
        
$alumno $nombres." ".$ap." ".$am;
        
        echo 
"<option value='$cod_detalle'>$alumno</option>";        
    }
    echo 
"</select>";
}
?>
Bueno ahi hace la consulta de los alumnos para elegirlos y sacar la nota de dicho alumno en la cual pasa la variable '$cod_detalle' como parametro de identificacion para la tabla de notas de la BD, se dan cuenta tambien que la consulta hecha es identificando el codigo del profesor ... WHERE codProf='$codprofesor'
Que se trae desde principal.php

finalmente en:

ingresar_notas.php
==============

Se le envian las variables del formulario...

Código PHP:
<?php
session_start
();
require_once(
"../conexion/parametrosdb.php");
include(
'../conexion/conectdb.php');

//levanto la variable del formulario
$cod_detalle $_POST['alumnos'];
$pc01 $_POST['pc01'];
$pc02 $_POST['pc02'];
$pc03 $_POST['pc03'];
//$pp = $_POST['pp'];
$parcial $_POST['parcial'];
$final $_POST['final'];
$susti $_POST['susti'];
$promfinal $_POST['promfinal'];

$pp = ($pc01+$pc02+$pc03)/3;

$sql "UPDATE notas SET pc01='$pc01', pc02='$pc02', pc03='$pc03', prompract='$pp', parcial='$parcial',
        final='$final', promedio='$pp', susti='$susti', promfinal='$promfinal' 
        WHERE cod_detalle='$cod_detalle';"
;

$rs mysql_query($sql) or die("Error: ".mysql_error());

?>

<script>
 alert("Se ingresaron correctamente las notas...");
 window.location.href="notas.php";
</script>
Bueno creo q entienden este pequeño codigo y su funcionalidad, ahora el detalle es que, al regresar a "notas.php" ya no aparece el select que se atrae desde "ingresar.php" y es porque no envia el codigo del profesor que era el parametro con el que reconocia, es decir en la URL de notas salia lo siguiente:

http://localhost/html/cursos/profeso...codigo=c075846

Y al regresar luego de ingresar los datos sale de la siguiente forma:

http://localhost/html/cursos/profesor/notas.php

y es porque no toma como digo, el codigo del profe que lo referencia.

Creo que saben ahora cual es mi duda, como puedo hacer para que vuelva a salir de la misma forma la 1era URL dspues de haber ingresado las notas... yo crei que era por variables de Sesion, pero no estoy seguro.


Por fa si me pueden ayudar