Ciao! ho un problema che non riesco a risolvere, non sono molto esperto nei linguaggi che uso quindi se scrivo stupidate, per favore perdonatemi
Non so se è la sezione adatta, in caso mi scuso con gli amministratori
Sto facendo un registro elettronico
Problema:
Ho una tabella che faccio vedere a video con una colonna formata da nomi e cognomi di studenti, prelevati dal database, a questa colonna affianco un'altra colonna con un select option per ogni studente, quindi queste select vengono create dinamicamente poichè il numero degli studenti può variare a seconda della classe selezionata. Questo mi serve per inserire i voti degli studenti (in ogni select ho i voti da 3 a 10). Ora, io non riesco ad prendere i valori di ogni singola select e metterli dentro un vettore che poi passerei con post(aiutandomi con la funzione serealize), in fine inserire con una query i voti dentro la tabella voti. Le select le chiamo con un nome diverso, assegno il valore del indice che uso per crearle, in questo modo hanno un nome diverso.
Ho provato con script(anche ajax) - php, ma nulla non riesco a inserire questi voti in un vettore.
Questa è la pagina in cui si inseriscono i voti:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<?php
$id=$_POST['classe'];
include("config.php");
$sql=(" select * from studente where studente.classe='$id'");
$result=mysql_query($sql);
$righe=mysql_num_rows($result);
//echo "Il valore di è $id
";
?>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
Non date troppo peso a questa funzione sono delle prove che ho fatto
$(document).ready(function(){
function funzione(righe) {
voto = new Array();
var cont=righe;
var frms = document.getElementsByTagname("form");
var valore;
for (var i=0; i< frms.length; i++)
{
valore = frms[i].getElementsByTagName("select");
voto[i]=valore;
}
valore=666;
var serializedvoto = JSON.stringify(voto);
$.post("votiDatabase.php", {voto:serializedvoto, valore:valore});
//$.post("votiDatabase.php", $("#myform").serialize());
}
});
</script>
</head>
<body>
<h1> INSERIMENTO VOTI</h1>
<form action="votiDatabase.php" method="post">
<?php
for($i=0;$i<$righe;$i++)
{
$voto[$i]='-';
}
print("<table width='800' border='1'>");
print("<tr>");
print("<th scope='col'>STUDENTE</th>");
print("<th scope='col'>VOTO</th>");
print("</tr>");
$cont=3;
for($i=0;$i<$righe;$i++)
{
print("<tr>");
$fine=mysql_fetch_array($result);
print("<td>".$fine['nome']." ".$fine['cognome']."</td>");
$array[$i]=$fine['id_studente'];
print("<td>");
print("<select name='$i' id='$i'>");
print("<option value='NULL'> -");
for($j=0;$j<15;$j++)
{
print("<option value='$j'> $cont ");
$cont=$cont+0.5;
}
$cont=3;
print("</td>");
print("</tr>");
}
print("</select>");
print("</table>");
?>
<tt id="results"> </tt> </p>
<input type="hidden" name="array" value='<?php print(serialize($array));?>'/>
<input type="submit" onclick='funzione(<?php $righe ?>)' value="Invia" />
</form>
</body>
</html>