Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gilbertofjr

Cadastrar alunos pelo PHP

Recommended Posts

Ae pessoal, beleza?

Estou tendo um probleminha aqui. Vou explicar a situaçao. Tenho que fazer um formulário de cadastro que será assim. O aluno digita a matricula na primeira página. O php lerá a matricula dele e mandará ele pra página correspondente à série dele. Na página de cadastro teria uma tabela com 30 posições. O script mostraria as posiçoes ocupadas e livres e no final, com um listMenu ou qq outra coisa, o aluno poderia se cadastrar na posição desejada.

 

Agora vamos aos problemas

1) Existe alguma função em PHP que verifique uma variável e dependendo dela, redireciona pra outra página?

2) Já consegui mostrar todos os alunos cadastrados e mostrar apenas as posicoes vazias no menu, só que não estou conseguindo adicionar mais alunos.

Segue meu código

<?phprequire_once("conecta.php");if(isset($_POST['nome'])){	foreach($_POST as $chave => $valor)$$chave = $valor;	$ok = mysql_query("INSERT INTO `alunos` ( `matricula` , `nome` , `serie` , `turma`, ordem ) VALUES ('$matricula', '$nome', '$serie', '$turma' , '$ordem' ); ");};$matricula = $_POST['matricula'];$tabela = mysql_query("SELECT * FROM alunos");$pesqNome = mysql_query("SELECT nome FROM alunos WHERE matricula = '". addslashes($_POST['matricula']) . "';") or die(mysql_error());$pesqSerie = mysql_query("SELECT serie FROM alunos WHERE matricula = '". addslashes($_POST['matricula']) . "';") or die(mysql_error());$pesqTurma = mysql_query("SELECT turma FROM alunos WHERE matricula = '". addslashes($_POST['matricula']) . "';") or die(mysql_error());$tabela_ln = mysql_num_rows($tabela);for($i=0;$i<$tabela_ln;$i++){	$ordem = mysql_result($tabela,$i,'ordem');	$nome_l[$ordem]	= mysql_result($tabela,$i,'nome');	$serie[$ordem]	= mysql_result($tabela,$i,"serie");	$turma[$ordem]	= mysql_result($tabela,$i,"turma");}?><!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=iso-8859-1" /><title>Atendimento individual para a correção de textos</title></head><body><form id="form1" name="form1" method="post" action="" onsubmit="mysql_query('INSERT INTO alunos ( matricula, nome, serie, turma, ordem ) VALUES ('$_POST['matricula']', '$curNome', '$curSerie', '$curTurma' , '$ordem'); ">   <table width="580" border="1">	<tr>	  <td><img src="logoMack.JPG" width="401" height="60" /></td>	</tr>  </table>  <table width="580" border="1">	<tr>	  <td bgcolor="#FF0000"><div align="center">		<h3>Atendimento individual para a correção de textos ($_POST['serie']) </h3>	  </div></td>	</tr>  </table>  <table width="580" border="1">	<tr>	  <td><strong>Professor</strong>: Fernando </td>	  <td><strong>Data</strong>: ddmmaa </td>	  <td>$semana</td>	</tr>  </table>  <table width="580" border="1">	<tr>	  <td><div align="center"><strong>Horário: das 14:30 às 16:10 e 16:30 às 18:10 </strong></div></td>	</tr>  </table>  <table width="582" border="1">	<tr>	  <td width="42" bgcolor="#FFFFFF"> </td>	  <td width="361" bgcolor="#CCFFFF"><strong>Nome do aluno </strong></td>	  <td width="39" bgcolor="#CCFFFF"><strong>Série</strong></td>	  <td width="39" bgcolor="#CCFFFF"><strong>Turma</strong></td>	</tr>	<?php for($i= 1; $i<=30;$i++) { ?>	<tr>	  <td><?php echo $i ?></td>	  <?php if(isset($nome_l[$i])) { ?>		  <td><?php echo strtoupper($nome_l[$i]); ?></td>		  <td><?php echo $serie[$i];					  echo 'º'; ?></td>		  <td width="39"><?php echo strtoupper($turma[$i]); ?></td>	  <?php }else{ ?>			  <td width="35" colspan="3" align="center" bgcolor="#FF9966">Vazio</td>	  <?php } ?>	</tr>	<?php } ?>	<tr>	  <td> </td>	  <td> </td>	  <td> </td>	  <td width="39"> </td>	</tr>  </table><br /><?php if(isset($_POST['matricula'])) { ?>  <table border="1">	  <tr>		<td>Posição:</td>		<td>			<select name="ordem">				<?php 					for($i=1;$i<=30;$i++)						if(!isset($nome_l[$i]))echo "<option value=\"" . $i . "\">$i</option>"; ?>			</select>		</td>	</tr>	  <tr>		<td>Nome:</td>		<td><?PHP 				$curNome = mysql_result($pesqNome,0,'nome');				echo strtoupper($curNome); ?></td>	</tr>	<tr>		<td>Serie:</td>		<td><?PHP 				$curSerie = mysql_result($pesqSerie,0,'serie');				echo strtoupper($curSerie);				echo 'º';?></td>	</tr>  	<tr>		<td>Turma:</td>		<td><?PHP 				$curTurma = mysql_result($pesqTurma,0,'turma');				echo strtoupper($curTurma);?></td>	</tr>  	<tr>		<td></td>		<td><input type="submit" name="cad" value="Cadastrar" /></td>	</tr>  	  </table>  	<input type="hidden" name="matricula" value="<?php echo $matricula; ?>" /><?php } ?></form></body></html>

3) Finalmente só uma duvidazinha do banco de dados que nem sei se é tirada aqui. O banco já está formado, com nomes, séries, turmas, telefones e tudo mais. A única coisa que eu teria que alterar nesse formulário seria a posição do aluno. Seria melhor eu criar esse campo dentro da tabela alunos ou criar uma nova tabela apenas com esse campo e utilizá-la como chave estrangeira na tabela alunos? Ou nenhum dos dois?

 

Flwz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente isso Flávia. Brigadão. Problema 1 resolvidoProblema 2 eu resolvi aqui utilizando técnicas POG hehe. Depois vou dar uma limpada no código pra ficar mais legívelSó resta agora o problema 3. O que vocês me sugerem?Nota mental: Prometo que a partir de amanha estudarei mais antes de fazer perguntas toscas heheVlwz

Compartilhar este post


Link para o post
Compartilhar em outros sites

É como se fosse os assentos de um ônibus. O aluno irá escolher qual posição dentre as disponíveis ele quer. Devo colocar esse campo 'posição' na tabela com os dados dos alunos ou criar uma tabela exclusiva com esse campo e referenciá-la na tabela 'alunos'?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.