Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera, eu to querendo fazer um formulário para uma lista de chamada, onde eu seleciono a turma e então me é apresentado um form com os nomes do alunos onde eu marco suas presenças em uma check box. o problema é que cada turma tem um número X de alunos, e eu fiz um formulário onde os nomes de cada campo são variados de acordo com um contador ($_Session['cont']) junto de cada campo. Quando envio os dados estou com dificuldade em processar os campos que recebo do Form e gravalos em uma tabela. Os códigos estão abaixo:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Arquivo: RecebeDado.php -- este arquivo abre um form com a lista dos alunos da turma selecionada, e cria um form com os checkboxes para a marcação da presença.
<?php
$_SESSION['turma'] = $_POST["turma"];
$_SESSION['data'] = $_POST["data"];
$qry_turma = "SELECT nome from tbturma WHERE id = $_SESSION[turma]";
$qry_aluno = "SELECT a.nome, a.id FROM tbaluno AS a LEFT JOIN relalunoturma AS r ON r.idaluno=a.id LEFT JOIN tbturma AS t ON t.id=r.idturma WHERE r.idturma=$_SESSION[turma]";
$_SESSION['cont'] = 0;
$result_qry_turma = mysql_query($qry_turma);
$result_qry_aluno = mysql_query($qry_aluno);
while ($busca_turma = mysql_fetch_array($result_qry_turma)) {
echo "<span class=\"texto\">Turma: ".$busca_turma[0]."</span><br><br>";
echo "<span class=\"texto\">Data da aula: ".$_SESSION['data']."</span><br><br>";
}
echo "<form name=\"form1\" method=\"POST\" action=\"ChamadaProcessaLancamento.php\">";
echo "<span class=\"texto\"><span class=\"num_chamada\"'>Número</span></span><span class=\"texto\"><span class=\"nome_chamada\">Nome</span></span><span class=\"texto\"><span class=\"presenca_chamada\">Presença</span></span><span class=\"quebralinha\"></span>";
while ($busca_aluno = mysql_fetch_array($result_qry_aluno)) {
$nome = $busca_aluno[0];
$IdAluno = $busca_aluno[1];
echo
"<span class=\"num_chamada\"'><span class=\"quebralinha\"></span><input name='num_aluno".$_SESSION['cont']."' type='text' id='num_aluno".$_SESSION['cont']."' value='".$_SESSION['cont']."' size='2' maxlength='2'></span>
<span class=\"nome_chamada\"><input name='nome_aluno".$_SESSION['cont']."' type='text' id='nome_aluno".$_SESSION['cont']."' value='".$nome."' size='50' maxlength='50'></span>
<span class=\"presenca_chamada\"><input type='checkbox' name='checkbox".$_SESSION['cont']."' id='checkbox".$_SESSION['cont']."'></span><input type='hidden' name='idaluno".$_SESSION['cont']."', id='idaluno".$_SESSION['cont']."' value='".$IdAluno."' /><span class=\"quebralinha\"></span>";
$_SESSION['cont']++;
}
echo "<span class=\"quebralinha\"><input type='submit' name='button' id='button' value=' Ok '>";
echo "</form>";
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Arquivo: ChamadaProcessaLancamento.php -- esta página recebe os dados do form da página anterior e grava em uma tabela.
O problema está dentro do laço "For" já que as variáveis globais estão passando os valores. a minha dificuldade está em no comando $_POST para receber nomes variáveis.
<?php
for ($contador=1;$contador <= $_SESSION['cont'];$contador++)
{
$query = "INSERT INTO tbchamada VALUES ('','$IdAluno','$_SESSION[turma]','$check','$_SESSION[data])'";
$check = $_POST["checkbox.$contador"];
$IdAluno = $_POST["idaluno.$contador"];
mysql_query($query) or die();
}
echo "$_SESSION[cont]";
echo "Operação efetuada com sucesso<br>";
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
agradeço qualquer ajuda.
Carregando comentários...