Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2009, 21:23
Lion619
 
Fecha de Ingreso: junio-2009
Mensajes: 26
Antigüedad: 17 años, 4 meses
Puntos: 0
Ayuda con actualizar datos multiples

Bueno, llevo peliando con esta consulta como 3 dias, y no le he hallado solucion...

Bueno, tengo un tipo sistema de notas tipo universidad, y funciona asi:


Primero inicia secion el catedrático, una vez iniciada la secion, se encuentra en el menu.

en el menu, por medio de unos combo box, seleeciona la carrera, materia y ciclo al que quiere modificar las notas de los alumnos,

una vez ahi, le aparecen el listado de los alumnos buscados,

los campos que aparecen son

codalumno, nombre, apellido, y estos siguientes aparecen en una caja de texto laboratorio, actividad, parcial, promedio.

ahora tengo 5 alumnos, como puedo hacer, para modificar o ingresar sus notas de una sola vez a todos?, acontinuacion, les pongo el codigo fuente que ocupo

Código PHP:
<?php
 $carrera 
= $_POST["carrera"];
 
$ciclo = $_POST["ciclo"];
 
$materia = $_POST["materia"];
 
 
 
// Conectar con el servidor de base de datos
      
$conexion = mysql_connect ("localhost","root","")
         or die (
"No se puede conectar con el servidor");

   
// Seleccionar base de datos
      
mysql_select_db ("registroacademico")
         or die (
"No se puede seleccionar la base de datos");

   
// Enviar consulta
      
$instruccion = "SELECT  alumnos.*,alumnos.codalumno, materias.nombre_materia, materias.ciclo, notas.*
FROM    alumnos
    INNER JOIN carreras ON alumnos.codcarrera=carreras.codcarrera
    INNER JOIN materias ON carreras.codcarrera=materias.codcarrera
    INNER JOIN notas ON materias.codmateria=notas.codmateria
where carreras.nombre_carrera like '$carrera'
  and materias.ciclo like '$ciclo' and materias.nombre_materia like '$materia'"
;
  
  
      
$consulta = mysql_query ($instruccion, $conexion)
         or die (
"Fallo en la consulta");
         
          
// Mostrar resultados de la consulta
      
$nfilas = mysql_num_rows ($consulta);
   echo 
"<form name='updatenotas' method='POST' action='updatenotas.php'>";
      
      if (
$nfilas > 0)
      {
        
         print (
"<TABLE border = '1'>\n");
         print (
"<TR>\n");
         print (
"<TH>Codigo</TH>\n");
         print (
"<TH>Nombre</TH>\n");
         print (
"<TH>Apellido</TH>\n"); 
         print (
"<TH>Lab1</TH>\n"); 
         print (
"<TH>Act1</TH>\n"); 
         print (
"<TH>Par1</TH>\n");
         print (
"<TH>Promedio 1</TH>\n"); 
         print (
"<TH>Lab2</TH>\n"); 
         print (
"<TH>Act2</TH>\n"); 
         print (
"<TH>Par2</TH>\n");
         print (
"<TH>Promedio 2</TH>\n"); 
         print (
"<TH>Lab3</TH>\n"); 
         print (
"<TH>Act3</TH>\n"); 
         print (
"<TH>Par3</TH>\n");
         print (
"<TH>Promedio 3</TH>\n"); 
         print (
"<TH>Promedio Final</TH>\n");
         
         
         
          
         print (
"</TR>\n");

         for (
$i=0; $i<$nfilas; $i++)
         {
            
$resultado = mysql_fetch_array ($consulta);
            print (
"<TR>\n"); 
            print (
"<TD>" . "<input type='text' name='codalumno' size='10' value='$resultado[0]'readonly />" . "</TD>\n");  
            print (
"<TD>" . $resultado['nombre'] . "</TD>\n");
            print (
"<TD>" . $resultado['apellido'] . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='lab1' size='3' value='$resultado[13]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='act1' size='3' value='$resultado[14]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='par1' size='3' value='$resultado[15]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='prom1' size='3' value='$resultado[16]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='lab2' size='3' value='$resultado[17]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='act2' size='3' value='$resultado[18]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='par2' size='3' value='$resultado[19]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='prom2' size='3' value='$resultado[20]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='lab3' size='3' value='$resultado[21]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='act3' size='3' value='$resultado[22]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='par3' size='3' value='$resultado[23]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='prom3' size='3' value='$resultado[24]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='promfinal' size='3' value='$resultado[25]'>" . "</TD>\n");
        
               
            print (
"</TR>\n");
         }

         print (
"</TABLE>\n");
         echo 
"<input type='submit' value='Actualizar Notas' name='ok'><br>";
        echo 
"</form>";
      }
      else
      
         print (
"No hay registros");

// Cerrar conexión
   
mysql_close ($conexion);
?>
aqui yya tengo los alumnos buscados, y me los muestra en una tabla,

y con este codigo, quiero actualizar los campos,

Código PHP:
<label id="Label" style="position: absolute; left: 500px; top: 173px;"><Font size="5">Datos 
Actualizados Satisfactoriamente</font></h3></label>

<?php

$link 
= mysql_connect("localhost","root","");
mysql_select_db("registroacademico", $link);
 
 
$codalumno = $_POST["codalumno"];
$lab1 = $_POST["act1"];
$act1 = $_POST["act1"];
$par1 = $_POST["par1"];
$prom1 = $_POST["prom1"];
$lab2 = $_POST["act2"];
$act2 = $_POST["act2"];
$par2 = $_POST["par2"];
$prom2 = $_POST["prom2"];
$lab3 = $_POST["act3"];
$act3 = $_POST["act3"];
$par3 = $_POST["par3"];
$prom3 = $_POST["prom3"];


 
mysql_query("UPDATE notas SET lab1='$lab1', act1='$act1', par1='$par1', prom1='$prom1' where codalumno like '$codalumno'", $link);
mysql_query("UPDATE notas SET lab2='$lab2', act2='$act2', par2='$par3', prom2='$prom2' where codalumno like '$codalumno'", $link);
mysql_query("UPDATE notas SET lab3='$lab3', act3='$act3', par3='$par3', prom3='$prom3' where codalumno like '$codalumno'", $link);      
                              
                              



 
?>
por favor, necesito su ayuda! tengo algo malo?, o la consulta tiene que ser diferente, me recomendaros un bucle.... pero no le hayo forma... por favor necesito su ayuda! Gracias!