tengo un pequeño problema al realizar un update....al momento de recuperar los datos de la base de datos no tengo ningún problema me aparecen correctamente pero al momento de darle guardar solo me modifica el modifica el primer registro con el ultimo del update
por ejemplo ... saco de la base de datos:
1......materia
2......materia2
3......materia3(suponiendo que modifico este y le pongo materia33)
y al momento de guardarlo en la base de dato sale:
3.....materia33
2......materia2
3......materia3
aquí donde realizo el update:
Código PHP:
$id = $_POST['id'];
$sql="SELECT idExpediente from expediente WHERE expediente.idAsignacion='$id'";
$resultado=mysql_query($sql) or die(mysql_error());
$idAsig2 = mysql_fetch_array($resultado);
$sql="SET AUTOCOMMIT=0;";
$resultado=mysql_query($sql) or die(mysql_error());
$sql="BEGIN;";
$resultado=mysql_query($sql) or die(mysql_error());
$n=count($filtro);
for($i=0;$i<$n;$i++){
if($areglo1[$i]!=""){//si areglo esta vacio no realiza insert
if($i==$n){
$sql="UPDATE expediente SET Materias='$areglo1[$i]', Grupos='$areglo2[$i]', Clavemateria='$areglo3[$i]',Horario_trabajo='$areglo4[$i]',
Horas_apoyo='$areglo5[$i]',Planeaciones='$areglo6[$i]',Reporte_inicio='$areglo7[$i]',Instrumentacion='$areglo8[$i]',
Visitas='$areglo9[$i]',Seguimieno1='$areglo10[$i]',Seguimieno2='$areglo11[$i]',Seguimieno3='$areglo12[$i]',
Cali1='$areglo13[$i]',Cali2='$areglo14[$i]',Cali3='$areglo15[$i]',Actas='$areglo16[$i]',Parciales='$areglo17[$i]',
Copia_acta='$areglo18[$i]',Reporte_final='$areglo19[$i]',Liberacion='$areglo20[$i]'
WHERE idExpediente=".$idAsig2['idExpediente'].";";
}
else{
$sql="UPDATE expediente SET Materias='$areglo1[$i]', Grupos='$areglo2[$i]', Clavemateria='$areglo3[$i]',Horario_trabajo='$areglo4[$i]',
Horas_apoyo='$areglo5[$i]',Planeaciones='$areglo6[$i]',Reporte_inicio='$areglo7[$i]',Instrumentacion='$areglo8[$i]',
Visitas='$areglo9[$i]',Seguimieno1='$areglo10[$i]',Seguimieno2='$areglo11[$i]',Seguimieno3='$areglo12[$i]',
Cali1='$areglo13[$i]',Cali2='$areglo14[$i]',Cali3='$areglo15[$i]',Actas='$areglo16[$i]',Parciales='$areglo17[$i]',
Copia_acta='$areglo18[$i]',Reporte_final='$areglo19[$i]',Liberacion='$areglo20[$i]'
WHERE idExpediente =".$idAsig2['idExpediente']."";//en esta parte no se si deberia ir una coma segun yo si pero igual no afecta
}
$sql=rtrim($sql,',');//elimino la última coma sobrante
echo $sql;
}//if areglo
$resultado=mysql_query($sql) or die(mysql_error());
}//for
UPDATE expediente SET Materias='Materia3', Grupos='g3', Clavemateria='1',Horario_trabajo='2', Horas_apoyo='1',Planeaciones='1',Reporte_inicio='1 ',Instrumentacion='1', Visitas='1',Seguimieno1='1',Seguimieno2='1',Seguim ieno3='1', Cali1='1',Cali2='1',Cali3='1',Actas='1',Parciales= '1', Copia_acta='1',Reporte_final='1',Liberacion='1' WHERE idExpediente =151UPDATE expediente SET Materias='Materia2', Grupos='g2', Clavemateria='2',Horario_trabajo='1', Horas_apoyo='2',Planeaciones='1',Reporte_inicio='1 ',Instrumentacion='1', Visitas='1',Seguimieno1='1',Seguimieno2='1',Seguim ieno3='1', Cali1='1',Cali2='1',Cali3='1',Actas='1',Parciales= '1', Copia_acta='1',Reporte_final='1',Liberacion='1' WHERE idExpediente =151UPDATE expediente SET Materias='Materia3', Grupos='g3', Clavemateria='3',Horario_trabajo='2', Horas_apoyo='1',Planeaciones='1',Reporte_inicio='1 ',Instrumentacion='1', Visitas='1',Seguimieno1='1',Seguimieno2='1',Seguim ieno3='1', Cali1='1',Cali2='1',Cali3='1',Actas='1',Parciales= '1', Copia_acta='1',Reporte_final='1',Liberacion='1' WHERE idExpediente =151
espero puedan ayudarme