PHP e MySQL

 
 
Parte VI - PHP 5.3 com Banco de dados MySQL 5.1
Seção Aluno-disciplinas
 

Menu de administração

A página inicial do projeto "Controle de alunos" fornece meios para acessar operações de manutenção e de visualização dos dados das tabelas.

Formulário: Menu de administração

Este formulário, bemo como, o programa "index.html" considerados ponto de partida das diversas funções do projeto exemplo já foram discutidos na página anterior, Parte V, que trata dos programas vinculados ao submenu "Alunos".

 

Submenu Aluno-disciplinas

Semelhante ao anterior, o submenu "Aluno-disciplinas" exibe uma caixa de texto, onde o usuário pode digitar o código do aluno, opções de operação e o botão Enter e logo abaixo é exibido o botão Listar.

Botão Listar - ao ser pressionado o programa "lista_alunos_disc.php" gera uma listagem de alunos-disciplinas, conforme exemplo:

Relatório: Listagem de alunos-disciplinas

Programa: lista_aluno_disc.php

<!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>Lista alunos-disciplinas</title>
<link rel="stylesheet" href="alunos.css" type="text/css" />
</head>
<body bgcolor="#EEEEFF">
<div id=area_geral>
<table width="750" border="0" bgcolor="#000033"
cellspacing="0" cellpadding="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td><font size="4" color="#FFFFFF"><strong>&nbsp;&nbsp;
Controle de Alunos </strong></font></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table width="750" border="0" bgcolor="#6699FF">
<tr><td><input type="button" value=" &nbsp;Voltar&nbsp; "
onclick="window.location='index.html'"></td></tr>
<tr>
<td>
<table width="650" border="0" bgcolor="#DADDFE" align="center"
cellspacing="1" cellpadding="3" rules="cols">
<tr>
<td colspan="6" align="center"><font size="3">
Listagem de alunos-disciplinas</font></td>
</tr>
<tr><td colspan="6">&nbsp;</td></tr>
<tr align="center">
<td><a href="lista_alunos_disc.php?ordem=id_aluno">
<strong>Código</strong></a></td>
<td><a href="lista_alunos_disc.php?ordem=nome">
<strong>Nome</strong></a></td>
<td><a href="lista_alunos_disc.php?ordem=curso">
<strong>Curso</strong></a></td>
<td><strong>Disc.</strong></td>
<td><strong>Descrição</strong></td>
<td><strong>Situação</strong></td>
</tr>
<?php
if(isset($_GET["ordem"]))
$ordem=$_GET["ordem"];
else
$ordem="nome";
include("conecta.inc");
$sql="SELECT * FROM alunos ORDER BY $ordem";
$res=mysql_query($sql);
while($registro=mysql_fetch_row($res)) {
echo "<tr>";
echo "<td align='right'>$registro[0]</td>";
echo "<td>$registro[1]</td>";
echo "<td align='right'>$registro[5]</td>";
$sql2="SELECT * FROM disciplinas"
." WHERE aluno_dis=$registro[0] ORDER BY cod_dis";
$res2=mysql_query($sql2);
$n=mysql_num_rows($res2);
if($n==0)
echo "<td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td>";
else{
while($registro2=mysql_fetch_row($res2)) {
echo "<td align='right'>$registro2[1]</td>";
$sql3="SELECT * FROM materias WHERE cod_mat=$registro2[1]";
$res3=mysql_query($sql3);
if(mysql_num_rows($res3)==0)
echo "<td>&nbsp;???</td>";
else{
$registro3=mysql_fetch_row($res3);
echo "<td>&nbsp;$registro3[1]</td>";
}
$n-=1;
if($n>0){
echo "<td>$registro2[2]</td>";
echo "<tr><td>&nbsp;</td><td>&nbsp;</td>
<td>&nbsp;</td>";
}else
echo "<td>$registro2[2]</td>";
}
}
echo "</tr>";
}
mysql_close($conexao);
?>
</table></td>
</tr>
<tr><td>&nbsp;</td>
</tr>
</table>
</div>
</body>
</html>

Quando o usuário pressiona o botão Listar o programa "index.html" executa o seguinte comando que chama o programa que emite a Listagem Alunos-disciplinas.

<input type="button" value=" &nbsp;Listar&nbsp;&nbsp; "
onclick="window.location='lista_alunos_disc.php'">

Para impressão desse relatório é necessário extrair dados de três tabelas. O comando SELECT é aplicado em todas as três a fim de retornar as informações requeridas. Cada aluno ou cada registro da tabela "alunos" é pesquisado na tabela "disciplinas" para determinar em quais disciplinas o aluno está matriculado. Com a identificação da disciplina, a tabela "materias" é acessada para recuperar a descrição da disciplina correspondente.

A primeira execução do programa lista os alunos classificados em ordem alfabética de nome. O usuário pode comandar nova execução, clicando no cabeçalho da coluna pela qual deseja ver classificada. Para imprimir o relatório em ordem de curso, por exemplo, basta clicar em Curso, cuja linha de programa está codificada como segue:

<td><a href="lista_alunos_disc.php?ordem=curso"><strong>Curso</strong></a></td>

A informação de parâmetro ordem=curso é passada pelo método GET e recebida através do array superglobal na forma que segue:
if(isset($_GET["ordem"]))
$ordem=$_GET["ordem"];

Botão Enter - o programa "admin.aluno.php", analisado na Parte V deste trabalho, verifica o tipo de operação requerida para ativar o programa, obedecendo os seguintes comandos:

if($oper2=="alt")
header("Location: alt_aluno_disc.php?aluno=$cod_aluno");
if($oper2=="exc")
header("Location: exc_aluno_disc.php?aluno=$cod_aluno");

Se o usuário selecionar a opção "Alteração e inclusão" no submenu "Aluno-disciplinas" será executado o programa "alt_aluno_disc.php". Se a opção escolhida for "Exclusão", será executado o programa "exc_aluno_disc.php". Em ambos os casos, é passado para o programa chamado o código do aluno através do método GET.

Formulário: Alteração e inclusão de aluno-disciplinas

Programa: alt_aluno_disc.php

<!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>Prepara atual. aluno-disciplina</title>
<link rel="stylesheet" href="alunos.css" type="text/css" />
</head>
<body bgcolor="#EEEEFF">
<div id=area_geral>
<table width="750" border="0" bgcolor="#000033"
cellspacing="0" cellpadding="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td><font size="4" color="#FFFFFF"><strong>&nbsp;&nbsp;
Controle de Alunos </strong></font></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table width="750" border="0" bgcolor="#6699FF"
cellspacing="0" cellpadding="0">
<tr><td><input type="button" value=" &nbsp;Voltar&nbsp; "
onclick="window.location='index.html'"></td></tr>
<tr>
<td>
<table width="70%" border="0" bgcolor="#DADDFE" align="center"
cellspacing="0" cellpadding="0">
<tr><td width="15%">&nbsp;
</td> <td width="70%">&nbsp;</td> <td width="15%">&nbsp;</td></tr>
<tr><td colspan="3" align="center">
<h3>Alteração e inclusão de aluno-disciplinas</h3></td></tr>
<tr><td>&nbsp;</td><td>
<form name="formAD" method="post" action="alt_aluno_disc2.php">
<?php
$cod_aluno=$_GET['aluno'];
include("conecta.inc");
$sql="SELECT * FROM alunos WHERE id_aluno='$cod_aluno'";
$res=mysql_query($sql);
$n=mysql_num_rows($res);
if($n==0){
echo "<p align='center'>(Aluno $cod_aluno não cadastrado!)</p>";
exit;
}
$registro=mysql_fetch_row($res);
$id_aluno=$registro[0];
$nome=$registro[1];
?>
<p class="brco3"><strong>Aluno: "<?php echo $id_aluno; ?>" - "
<?php echo $nome; ?>"</strong></p>
<p><hr /></p>
<div><u>Alteração</u></div>
<div class="brco1">Disciplina: &nbsp;&nbsp; De &nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Para &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Situação
</div>
<?php
$sql2=("SELECT * FROM disciplinas WHERE aluno_dis=$cod_aluno");
$res2=mysql_query($sql2);
$n2=mysql_num_rows($res2);
for($i=0;$i<$n2;$i++){
$cod_dis=mysql_result($res2,$i,'cod_dis');
$situacao_dis=mysql_result($res2,$i,'situacao_dis');
?>
<div class="brco3">
<input type="text" size="2" name="<?php echo 'dis_fixa'.$i;?>"
value="<?php echo $cod_dis;?>" readonly="" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" size="2" name="<?php echo 'dis'.$i;?>"
value="<?php echo $cod_dis;?>" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" size="10" name="<?php echo 'sit'.$i;?>"
value="<?php echo $situacao_dis;?>" />
</div>
<?php
}
?>
<p><hr /></p>
<div><u>Inclusão</u></div>
<div class="brco1">Disciplina: &nbsp;Nova&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Situação</div>
<div class="brco3">
<input type="text" size="2" name="dis_1" value="" />&nbsp;&nbsp;&nbsp;
<input type="text" size="10" name="sit_1" value="" /></div>
<div class="brco3">
<input type="text" size="2" name="dis_2" value="" />&nbsp;&nbsp;&nbsp;
<input type="text" size="10" name="sit_2" value="" /></div>
<div class="brco3">
<input type="text" size="2" name="dis_3" value="" />&nbsp;&nbsp;&nbsp;
<input type="text" size="10" name="sit_3" value="" /></div>
<p><hr /></p>
<div align="right">
<input type="submit" name="envia" id="envia" value="Atualizar" />&nbsp;
<input type="reset" value=" Limpar "/>&nbsp;&nbsp;&nbsp; </div>
<input type="hidden" name="numDis" value="<?php echo $n2;?>">
<input type="hidden" name="codAlu" value="<?php echo $cod_aluno;?>">
</form>
<div>&nbsp;</div>
</td><td>&nbsp;</td></tr>
</table></td>
<tr><td colspan="3">&nbsp;</td></tr>
</table>
</div>
</body>
</html>

Este programa emite o formulário acima referente ao aluno pesquisado, buscando dados na tabela "alunos" por meio do comando:

$sql="SELECT * FROM alunos WHERE id_aluno='$cod_aluno'";
$res=mysql_query($sql);

e, da tabela "disciplinas", retorna todos os códigos das diciplinas na quais esse aluno se encontra matriculado, através da seguinte instrução:

$sql2=("SELECT * FROM disciplinas WHERE aluno_dis=$cod_aluno");
$res2=mysql_query($sql2);

Note que no formulário as disciplinas são armazenadas de modo que o atributo name é diferenciado pela variável índice $i controlado pelo laço for, como se pode verificar nas linhas transcritas:

for($i=0;$i<$n2;$i++){
$cod_dis=mysql_result($res2,$i,'cod_dis');
$situacao_dis=mysql_result($res2,$i,'situacao_dis');
?>
...
<input type="text" size="2" name="<?php echo 'dis'.$i;?>" value="<?php echo $cod_dis;?>" />
...

O atributo name recebe o nome dis concatenado à variavel $i que será a chave do array $_POST do programa seguinte.

A seção "Alteração" do formulário permite que o usuário altere o conteúdo das caixas de texto "Para" e "Situação", sendo que a caixa de texto "De" não admite modificação em virtude da cláusula readonly da tag input. O código de disciplina da caixa "De" será usado para acessar a tabela no programa seguinte.

Na seção "Inclusão" do formulário, o programa disponibiliza três linhas, utilizando apenas marcações HTML, para entrada de novas disciplinas.

Observe que nas últimas linhas deste programa há duas tags input do tipo hidden que servem para passar informações escondidas para a página que será acionada pelo formulário. Por ser um tipo de campo de formulário, o hidden é utilizado quando se está trabalhando com o método POST para o envio de dados. Segue reprodução das tags:

<input type="hidden" name="numDis" value="<?php echo $n2;?>">
<input type="hidden" name="codAlu" value="<?php echo $cod_aluno;?>">

A variável $n2 armazena o número de disciplinas em que o aluno de código armazenado na variável $cod_aluno está matriculado.

Programa: alt_aluno_disc2.php

<!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>
<title>Atualização de aluno-disciplina</title>
<link rel="stylesheet" href="alunos.css" type="text/css" />
</head>
<body>
<div id=area_geral>
<table width="750" border="0" bgcolor="#000033"
cellspacing="0" cellpadding="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td><font size="4" color="#FFFFFF"><strong>&nbsp;&nbsp;
Controle de Alunos </strong></font></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table width="750" border="0" bgcolor="#6699FF">
<tr><td><input type="button" value=" &nbsp;Voltar&nbsp; "
onclick="window.location='index.html'"></td></tr>
<tr>
<td>
<table width="70%" border="0" bgcolor="#DADDFE" align="center"
cellspacing="0" cellpadding="0">
<tr><td width="15%">&nbsp;</td> <td width="70%">&nbsp;</td>
<td width="15%">&nbsp;</td></tr>
<tr><td colspan="3" align="center">
<h3>Alteração e inclusão de aluno-disciplina</h3></td></tr>
<tr><td>&nbsp;</td><td>
<?php
$cod_aluno=$_POST['codAlu'];
$n=$_POST['numDis'];
include("conecta.inc");
$atual=false;
$mens="";
for($i=0;$i<$n;$i++){
$dis_fixa=$_POST['dis_fixa'.$i];
$disciplina=$_POST['dis'.$i];
$situacao=$_POST['sit'.$i];
$mat=consulta_materia($disciplina);
if(!$mat)
echo "<p align='center'>(Disciplina $disciplina a atualizar\n
inexitente na tabela Materia!)</p>";
else{
$sql="UPDATE disciplinas SET";
$sql=$sql." cod_dis='$disciplina',situacao_dis='$situacao'";
$sql=$sql." WHERE aluno_dis='$cod_aluno' and cod_dis='$dis_fixa'";
mysql_query($sql);
}
if(mysql_affected_rows() > 0)
$atual=true;
else{
$mens=$mens.$erro=mysql_error();
$mens=$mens."Erro: $erro. Disc. $disciplina não atualizada.<br />";
}
}
if ($atual)
echo "<p align='center'>Disciplinas atualizadas</p>";
else
echo "<p align='center'>$mens";
$dis_array[0]=$_POST['dis_1'];
$sit_array[0]=$_POST['sit_1'];
$dis_array[1]=$_POST['dis_2'];
$sit_array[1]=$_POST['sit_2'];
$dis_array[2]=$_POST['dis_3'];
$sit_array[2]=$_POST['sit_3'];
for($i=0; $i<=2; $i++){
if($dis_array[$i]!=""){
$dis_nova=$dis_array[$i];
$sit_nova=$sit_array[$i];
$dis=consulta_aluno_disc($cod_aluno, $dis_nova);
if($dis)
echo "<p align='center'>Aluno e disciplina já existente!</p>";
else{
$mat=consulta_materia($dis_nova);
if($mat){
$sql2="INSERT INTO disciplinas";
$sql2=$sql2." (aluno_dis, cod_dis, situacao_dis)";
$sql2=$sql2." VALUES ('$cod_aluno','$dis_nova','$sit_nova')";
mysql_query($sql2);
echo "<p align='center'>Disiplina $dis_nova incluída.
Aluno $cod_aluno.</p>";
}else
echo "<p align='center'>(Disciplina $dis_nova a incluir\n
inexistente na tabela Materia!)</p>";
}
}
}
mysql_close($conexao);
?>
</center>
<?php
function consulta_materia($dis_nova){
$sql_mat="SELECT * FROM materias WHERE cod_mat=$dis_nova";
$res_mat=mysql_query($sql_mat);
if(mysql_num_rows($res_mat)==0)
return false;
else
return true;
}
function consulta_aluno_disc($alu_id, $dis_nova){
$sql_dis="SELECT * FROM disciplinas";
$sql_dis=$sql_dis." WHERE aluno_dis=$alu_id and cod_dis=$dis_nova";
$res_dis=mysql_query($sql_dis);
if(mysql_num_rows($res_dis)==0)
return false;
else
return true;
}
?>
<div>&nbsp;</div>
</td><td>&nbsp;</td></tr>
</table></td>
<tr><td colspan="3">&nbsp;</td></tr>
</table>
</div>
</body>
</html>

Este programa inicialmente recebe o número de diciplinas ou a quantidade de linhas da seção "Alteração" do formulário e o código do aluno passados no modo escondido (hidden). Na primeira parte do programa são realizadas as alterações de disciplina e situação por meio dos comandos:

$sql="UPDATE disciplinas SET";
$sql=$sql." cod_dis='$disciplina',situacao_dis='$situacao'";
$sql=$sql." WHERE aluno_dis='$cod_aluno' and cod_dis='$dis_fixa'";
mysql_query($sql);
 
Porém, antes de executar esse comando é feita uma consulta à tabela "materias" para verificar a existência dessa disciplina. Caso não exista, é emitida uma mensagem de inexistência.
A instrução:
$mat=consulta_materia($disciplina);
executa a consulta à função:
function consulta_materia($dis_nova) { ...
que retorna true ou false à variável $mat.

Na inclusão de novas disciplinas para este aluno, realizada na segunda parte, é antes verificado a possibilidade desse registro já existir na tabela "disciplinas" e é averiguado, também, a existência da disciplina na tabela "materias". O registro pesquisado deve estar presente nesta tabela e ausente naquela para uma condição de sucesso e consequente execução dos comandos:

$sql2="INSERT INTO disciplinas";
$sql2=$sql2." (aluno_dis, cod_dis, situacao_dis)";
$sql2=$sql2." VALUES ('$cod_aluno','$dis_nova','$sit_nova')";
mysql_query($sql2);

Formulário: Exclusão de aluno-disciplina

A tela mostra as disciplinas nas quais o aluno pesquisado encontra-se matriculado. O usuário deve clicar na caixa de seleção "Exc" ao lado do registro que pretende excluir.

Programa: exc_aluno_disc.php

<!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>Exclui aluno-disciplina</title>
<link rel="stylesheet" href="alunos.css" type="text/css" />
</head>
<body bgcolor="#EEEEFF">
<div id=area_geral>
<table width="750" border="0" bgcolor="#000033"
cellspacing="0" cellpadding="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td><font size="4" color="#FFFFFF"><strong>&nbsp;&nbsp;
Controle de Alunos </strong></font></td>
</tr><tr><td>&nbsp;</td></tr>
</table>
<table width="750" border="0" bgcolor="#6699FF">
<tr><td><input type="button" value=" &nbsp;Voltar&nbsp; "
onclick="window.location='index.html'"></td></tr>
<tr>
<td>
<table width="70%" border="0" bgcolor="#DADDFE" align="center"
cellspacing="0" cellpadding="0">
<tr><td width="15%">&nbsp;</td>
<td width="70%">&nbsp;</td>
<td width="15%">&nbsp;</td></tr>
<tr><td colspan="3" align="center">
<h3>Exclusão de aluno-disciplina</h3></td></tr>
<tr><td>&nbsp;</td><td>
<?php
$cod_aluno=$_GET['aluno'];
include("conecta.inc");
$sql="SELECT * FROM alunos WHERE id_aluno='$cod_aluno'";
$res=mysql_query($sql);
$n=mysql_num_rows($res);
if($n==0){
echo "<p align='center'>(Aluno $cod_aluno não cadastrado!)</p>";
exit;
}
$registro=mysql_fetch_row($res);
$id_aluno=$registro[0];
$nome=$registro[1];
?>
<p class="brco2"><strong>Aluno: "<?php echo $id_aluno; ?>" -
"<?php echo $nome; ?>"</strong></p>
<p><hr /></p>
<div class="brco2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Disciplina
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Situação
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; Exc.
</div>
<form name="form1" method="POST" action="exc_aluno_disc2.php" />
<?php
$sql2=("SELECT * FROM disciplinas WHERE aluno_dis=$cod_aluno");
$res2=mysql_query($sql2);
$n2=mysql_num_rows($res2);
if($n2==0){
echo "<p align='center'>(Disc.: Aluno $cod_aluno não cadastrado!)";
exit;
}
for($i=0;$i<$n2;$i++){
$reg2=mysql_fetch_array($res2);
$cod_dis=$reg2["cod_dis"];
$situacao_dis=$reg2["situacao_dis"];
?>
<div class="brco3">
<input type="text" size="2" name="<?php echo 'dis'.$i;?>"
value="<?php echo $cod_dis;?>" readonly="" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" size="10" name="<?php echo 'sit'.$i;?>"
value="<?php echo $situacao_dis;?>" readonly="" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="checkbox" name="<?php echo 'box'.$i;?>" value="" />
</div>
<?php
}
?>
<p align="right">
<input type="submit" name="executa" id="exec" value="Executar" />
</p>
<input type="hidden" name="numDis" value="<?php echo $n2;?>">
<input type="hidden" name="codAlu" value="<?php echo $cod_aluno;?>">
</form>
<div>&nbsp;</div>
</td><td>&nbsp;</td></tr>
</table></td>
<tr><td colspan="3">&nbsp;</td></tr>
</table>
</div>
</body>
</html>

O programa recebe o código do aluno através do método GET, recupera dados da tabela de alunos e da tabela disciplinas para emitir o formulário "Exclusão de aluno-disciplina". Em ambas as tabelas é aplicado o comando SELECT com a cláusula WHERE para retornar apenas os registros que atendam a condição especificada.

programa: exc_aluno_disc2.php

<!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>
<title>Exclui aluno-disciplina</title>
<link rel="stylesheet" href="alunos.css" type="text/css" />
</head>
<body>
<div id=area_geral>
<table width="750" border="0" cellspacing="0" cellpadding="0" bgcolor="#000033">
<tr><td>&nbsp;</td></tr>
<tr>
<td><font size="4" color="#FFFFFF"><strong>&nbsp;&nbsp;
Controle de Alunos </strong></font></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table width="750" border="0" bgcolor="#6699FF">
<tr><td><input type="button" value=" &nbsp;Voltar&nbsp; "
onclick="window.location='index.html'"></td></tr>
<tr>
<td>
<table width="70%" border="0" bgcolor="#DADDFE" align="center"
cellspacing="0" cellpadding="0">
<tr><td width="15%">&nbsp;</td> <td width="70%">&nbsp;</td>
<td width="15%">&nbsp;</td></tr>
<tr><td colspan="3" align="center">
<h3>Exclusão de aluno-disciplina</h3></td></tr>
<tr><td>&nbsp;</td><td>
<?php
$cod_aluno=$_POST['codAlu'];
$n=$_POST['numDis'];
include("conecta.inc");
for($i=0;$i<$n;$i++){
$disciplina=$_POST['dis'.$i];
if(isset($_POST['box'.$i])){
$sql="DELETE FROM disciplinas";
$sql=$sql." WHERE aluno_dis=$cod_aluno and cod_dis=$disciplina";
mysql_query($sql);
}
}
mysql_close($conexao);
?>
<div>&nbsp;</div>
</td><td>&nbsp;</td></tr>
</table></td>
<tr><td colspan="3">&nbsp;</td></tr>
</table>
</div>
</body>
</html>

Este programa recebe o código do aluno e o número de disciplinas em que este aluno se acha matriculado para controle do comando de repetição, bem como a opção de marcação de exclusão. Quando a opção checkbox contiver a marcação, a disciplina correspondente é eliminada da tabela por meio dos comandos:

$sql="DELETE FROM disciplinas";
$sql=$sql." WHERE aluno_dis=$cod_aluno and cod_dis=$disciplina";
mysql_query($sql);