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

Bueno, digamos que ya solucione el problema de las cajas de texto, aunque tengo el presentimiento que esta mal... aqui les dejo el codigo

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");
            
$z=0;
         for (
$i=0; $i<$nfilas; $i++)
         {
            
$resultado = mysql_fetch_array ($consulta);
            print (
"<TR>\n"); 
            print (
"<TD>" . "<input type='text' name='codalumno[$z]' 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[$z]' size='3' value='$resultado[13]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='act1[$z]' size='3' value='$resultado[14]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='par1[$z]' size='3' value='$resultado[15]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='prom1[$z]' size='3' value='$resultado[16]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='lab2[$z]' size='3' value='$resultado[17]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='act2[$z]' size='3' value='$resultado[18]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='par2[$z]' size='3' value='$resultado[19]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='prom2[$z]' size='3' value='$resultado[20]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='lab3[$z]' size='3' value='$resultado[21]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='act3[$z]' size='3' value='$resultado[22]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='par3[$z]' size='3' value='$resultado[23]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='prom3[$z]' size='3' value='$resultado[24]'>" . "</TD>\n");
            print (
"<TD>" . "<input type='text' name='promfinal[$z]' size='3' value='$resultado[25]'>" . "</TD>\n");
        
               
$z++;
            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);
?>
lo que hice fue: agregar una varieble llama $z, que se vaya incrementando, ese incremento, se le agrega al nombre de las cajas de texto, ahora bien intenté hacer lo mismo con el resultado, osea las intrucciones que hacen que se guarden los registros ingresados en la base de datos

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);
 
 

 
// 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, $link)
         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)
      {
        
      
         echo 
"generando las tablas";
            
$z=0;
         for (
$i=0; $i<$nfilas; $i++)
         {
          
$codalumno[$z] = $_POST["codalumno[$z]"];
          
$lab1[$z] = $_POST["act1[$z]"];
          
$act1[$z] = $_POST["act1[$z]"];
          
$par1[$z] = $_POST["par1[$z]"];
          
$prom1[$z] = $_POST["prom1[$z]"];
          
$lab2[$z] = $_POST["act2[$z]"];
          
$act2[$z] = $_POST["act2[$z]"];
          
$par2[$z] = $_POST["par2[$z]"];
          
$prom2[$z] = $_POST["prom2[$z]"];
          
$lab3[$z] = $_POST["act3[$z]"];
          
$act3[$z] = $_POST["act3[$z]"];
          
$par3[$z] = $_POST["par3[$z]"];
          
$prom3[$z] = $_POST["prom3[$z]"];
         
         
mysql_query("UPDATE notas SET lab1='$lab1[$z]', act1='$act1[$z]', par1='$par1[$z]', prom1='$prom1[$z]' where codalumno like '$codalumno[$z]'", $link);
         
mysql_query("UPDATE notas SET lab2='$lab2[$z]', act2='$act2[$z]', par2='$par3[$z]', prom2='$prom2[$z]' where codalumno like '$codalumno[$z]'", $link);
         
mysql_query("UPDATE notas SET lab3='$lab3[$z]', act3='$act3[$z]', par3='$par3[$z]', prom3='$prom3[$z]' where codalumno like '$codalumno[$z]'", $link);
                
               
$z++;
            print (
"</TR>\n");
         }
           
                              
               
      }
      else
      echo
"</form>";
         print (
"No hay registros");
 
                               
?>
no me los guarda!, sinceramente, no sé que es lo que tengo mal

Gracias!

Última edición por Lion619; 15/06/2009 a las 11:35