Es igual que lo que quiero hacer yo, pero con horas en vez de calificaciones.
Tengo este codigo:
Código PHP:
<?php
if($tip=="INS"){
$sql="SELECT a.idalumne,a.nomalumne,a.cognom,a.dni,a.telefonmovil,ac.idalumne,ac.idcurs FROM defalumnes a,relalumnescurs ac WHERE a.idalumne=ac.idalumne AND ac.idcurs=$idcurs AND ac.estat='i'";
$res=mysql_query($sql) or die('La consulta falló: ' . mysql_error());
echo "<TABLE BORDER='0'>";
echo "<TR><TD bgcolor=#999999 >Nom</TD>
<TD bgcolor=#999999>Cognmoms</TD>
<TD bgcolor=#999999>DNI</TD>
<TD bgcolor=#999999>Tel</TD>
<TD bgcolor=#999999>Hores assis</TD>
<TD bgcolor=#999999>Percentatge</TD>
<TD bgcolor=#999999>Apte</TD>
</TR>";
//Canviem el color de cada fila de la taula
$col=false;
$bgcol="";
function array_recibe($url_array) {
$tmp = stripslashes($url_array);
$tmp = urldecode($tmp);
$tmp = unserialize($tmp);
return $tmp;
}
$array=$_GET['array'];
$array=array_recibe($array);
$i=0;
while ($r= mysql_fetch_array($res, MYSQL_ASSOC)){
if ($col){
$bgcol="#FFFFE1";
}else{
$bgcol="#FFFFFF";
}
$col=!$col;
?>
<TR>
Código HTML:
<TD bgcolor=<?php echo $bgcol;?> width=150><?php echo $r["nomalumne"];?></TD>
<TD bgcolor=<?php echo $bgcol;?> width=200><?php echo $r["cognom"];?></TD>
<TD bgcolor=<?php echo $bgcol;?> width=120><?php echo $r["dni"];?></TD>
<TD bgcolor=<?php echo $bgcol;?> width=120><?php echo $r["telefonmovil"];?></TD>
<TD bgcolor=<?php echo $bgcol;?> width=100><input type="text" name="hores2" size=2 value="<?php echo $array[$i]; ?>"></TD>
<TD bgcolor=<?php echo $bgcol;?> width=100><input type="text" name="per" size=2></TD>
<TD bgcolor=<?php echo $bgcol;?> width=100><input type="text" name="apt" size=2></TD>
</TR>
Código PHP:
<?
echo "</TR>";
$idalumne=$r["idalumne"];
$idcurs=$r["idcurs"];
$hores2=$array[$i];
$sql3="INSERT INTO relalumnestancament (idalumne,idcurs,horesasis,perasis,apte) VALUES ('$idalumne','$idcurs','$hores2','$per','$apt')";
mysql_query($sql3) or die('L\'Insert del alumnes ha fallat: ' . mysql_error());
$i++;
}
}else if($tip=='PRE'){
$sql="SELECT a.idalumne,a.nomalumne,a.cognom,a.dni,a.telefonmovil,ac.idalumne,ac.idcurs FROM defalumnes a,relalumnescurs ac WHERE a.idalumne=ac.idalumne AND ac.idcurs=$idcurs AND ac.estat='i'";
$res=mysql_query($sql) or die('La consulta falló: ' . mysql_error());
echo "<TABLE BORDER='0'>";
//
echo "<TR><TD bgcolor=#999999 >Nom</TD>
<TD bgcolor=#999999>Cognmoms</TD>
<TD bgcolor=#999999>DNI</TD>
<TD bgcolor=#999999>Tel</TD>
<TD bgcolor=#999999>Hores assis</TD>
<TD bgcolor=#999999>Percentatge</TD>
<TD bgcolor=#999999>Apte</TD>
</TR>";
//empieza el bucle que coloca las líneas del listado
$col=false;
$bgcol="";
function array_envia($array) {
$tmp = serialize($array);
$tmp = urlencode($tmp);
return $tmp;
}
while ($r= mysql_fetch_array($res, MYSQL_ASSOC)){
if ($col){
$bgcol="#FFFFE1";
}else{
$bgcol="#FFFFFF";
}
$col=!$col;
echo "<TR font>";
//Generem els valors de la taula
echo "<TD bgcolor=$bgcol width=150>".$r["nomalumne"]."</TD>";
echo "<TD bgcolor=$bgcol width=200>".$r["cognom"]."</TD>";
echo "<TD bgcolor=$bgcol width=120>".$r["dni"]."</TD>";
echo "<TD bgcolor=$bgcol width=120>".$r["telefonmovil"]."</TD>";
echo "<TD bgcolor=$bgcol width=100><input type=text name=hores3 size=2></TD>";
echo "<TD bgcolor=$bgcol width=100><input type=text name=per size=2></TD>";
echo "<TD bgcolor=$bgcol width=100><input type=text name=apt size=2></TD>";
echo "</TR>";
}
$array=array($hores3); //AQUÍ ES DONDE ME FALLA. COMO CREO
// UN ARRAY DE LOS VALORES DEL CUADRO DE TEXTO hores3?
$array=array_envia($array);
?>
<input name="array" type="hidden" value="$array">
<?
}else{
$sql="SELECT a.idalumne,a.nomalumne,a.cognom,a.dni,a.telefonmovil,ac.idalumne,ac.idcurs,at.idcurs, at.idalumne,at.horesasis,at.perasis,at.apte FROM defalumnes a,relalumnescurs ac, relalumnestancament at WHERE a.idalumne=ac.idalumne AND at.idcurs=ac.idcurs AND at.idalumne=ac.idalumne AND ac.idcurs=$idcurs AND ac.estat='i'";
$res=mysql_query($sql) or die('La consulta falló: ' . mysql_error());
echo "<TABLE BORDER='0'>";
echo "<TR><TD bgcolor=#999999 >Nom</TD>
<TD bgcolor=#999999>Cognmoms</TD>
<TD bgcolor=#999999>DNI</TD>
<TD bgcolor=#999999>Tel</TD>
<TD bgcolor=#999999>Hores assis</TD>
<TD bgcolor=#999999>Percentatge</TD>
<TD bgcolor=#999999>Apte</TD>
</TR>";
$col=false;
$bgcol="";
while ($r= mysql_fetch_array($res, MYSQL_ASSOC)){
if ($col){
$bgcol="#FFFFE1";
}else{
$bgcol="#FFFFFF";
}
$col=!$col;
echo "<TR font>";
//Generem els valors de la taula
echo "<TD bgcolor=$bgcol width=150>".$r["nomalumne"]."</TD>";
echo "<TD bgcolor=$bgcol width=200>".$r["cognom"]."</TD>";
echo "<TD bgcolor=$bgcol width=120>".$r["dni"]."</TD>";
echo "<TD bgcolor=$bgcol width=120>".$r["telefonmovil"]."</TD>";
echo "<TD bgcolor=$bgcol width=100><input type=text name=hores size=2 value=".$r["horesasis"]."></TD>";
echo "<TD bgcolor=$bgcol width=100><input type=text name=per size=2 value=".$r["perasis"]."></TD>";
echo "<TD bgcolor=$bgcol width=100><input type=text name=apt size=2 value=".$r["apte"]."></TD>";
echo "</TR>";
}
}
echo "<a href=\"gestioalumnestanc.php?idcurs=$idcurs&idssid=$idssid&tip=INS&array=$array\">pasar array</a>";
?>
Código HTML:
<form name="form1" method="post" action="gestioalumnestanc.php?idcurs=<?php echo $idcurs; ?>&idssid=<?php echo $idssid; ?>&tip=PRE&adm=S">
<label>
<input type="submit" name="Submit" value="Generar llistat">
</label>
</form>
<form name="form2" method="post" action="gestioalumnestanc.php?idcurs=<?php echo $idcurs; ?>&idssid=<?php echo $idssid; ?>&tip=INS&adm=S&array=<?php $array; ?>">
<label>
<input type="submit" name="Submit" value="Guardar">
</label>
</form>
En la linea donde pone $array=array($hores3); quiero hacer un array de los valores del cuadro de texto hores3, y eso es lo que no me sale. Si lo cambiopor ejemplo por $array=array('34','45','65'); me funciona y me coge los valores y los inserta en la tabla, pero quiero los valores del cuadro hores3.
Quiza te sirva el planteamiento que uso yo, que creo que es el mismo