olá pessoal, to com uma dúvida, tenho um form que pega dados de uma db de alunos, assim ele mostra o nome do aluno e ao lado poe um campo para digitar a nota,
como devo fazer pra digitar a nota em todos os campos e a nota ir pra db em cada linha do seus respectivos alunos? lembrando que os dados estao em uma tabela só
ou seja: tabela alunos, com os campos: codigo_aluno / nome_aluno / nota1_aluno / nota2_aluno / media_aluno.
a media é calculada e tb tem que entrar no codigo..
vlw a ajuda

Como Atualizar Varios Registros De Uma Vez
Started By hensusudo, 05/09/2008, 15:54
2 replies to this topic
#1
Posted 05/09/2008, 15:54
#2
Posted 07/09/2008, 00:40
[codebox]
codigo_aluno / nome_aluno / nota1_aluno / nota2_aluno / media_aluno
<?
...
$sql = mysql_query("select codigo_aluno, nome_aluno from alunos order by id desc");
$count = 0;
while( list($id, $nome) = mysql_fetch_array($sql) ){
echo $nome . " - Nota 1<input type='text' name='nota1_" . $count . "' /> Nota 2<input type='text' name='nota2_" . $count . "' /><br/>";
echo "<input type='hidden' name='aluno_" . $count . "' value='$id' />";
$count++;
}
echo "<input type='hidden' name='num' value='" . $count . "' />";
....
?>
[/codebox]
para receber faça meio que assim
[codebox]
$quantidade = $_POST['num'];
for($i = 0; $i <= $quantidade; $i++){
$nome = $_POST['nome' . $i];
$nota1 = $_POST['nota1_' . $i];
$nota2 = $_POST['nota2_' . $i];
$media = ($nota1 + $nota2) / 2;
$id = $_POST['aluno_' . $i];
mysql_query("update alunos set nota1_aluno = '$nota1', nota2_aluno = '$nota2', media_aluno = '$media' where id = '$id' limit 1");
}
[/codebox]
codigo_aluno / nome_aluno / nota1_aluno / nota2_aluno / media_aluno
<?
...
$sql = mysql_query("select codigo_aluno, nome_aluno from alunos order by id desc");
$count = 0;
while( list($id, $nome) = mysql_fetch_array($sql) ){
echo $nome . " - Nota 1<input type='text' name='nota1_" . $count . "' /> Nota 2<input type='text' name='nota2_" . $count . "' /><br/>";
echo "<input type='hidden' name='aluno_" . $count . "' value='$id' />";
$count++;
}
echo "<input type='hidden' name='num' value='" . $count . "' />";
....
?>
[/codebox]
para receber faça meio que assim
[codebox]
$quantidade = $_POST['num'];
for($i = 0; $i <= $quantidade; $i++){
$nome = $_POST['nome' . $i];
$nota1 = $_POST['nota1_' . $i];
$nota2 = $_POST['nota2_' . $i];
$media = ($nota1 + $nota2) / 2;
$id = $_POST['aluno_' . $i];
mysql_query("update alunos set nota1_aluno = '$nota1', nota2_aluno = '$nota2', media_aluno = '$media' where id = '$id' limit 1");
}
[/codebox]

"A humanidade é a pior praga existente na terra"
Meu Site
Meu Site
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)