Enrera
Mòdul 6
Creació i gestió d'entorns web dinàmics (PHP)
  Pràctica
1
2
3
4
   
Exercicis
Exercicis
 
 
 
 
  Selecció d'alumnes
   
  En aquesta pràctica veureu el procediment seguit a l'aplicatiu per seleccionar un alumne/a d'entre els del seu grup. Posareu en pràctica, també, un sistema alternatiu a aquesta selecció.
   
   
Selecció amb botons d'opció
   
Pràctica

El fitxer selecalum.php és l'encarregat dins l'aplicatiu de fer la selecció d'un alumne/a d'entre els del grup. Hem proposat un sistema de selecció basat en botons d'opció o radio buttons:

   
Veure codi

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table width="400" border="0" align="center" cellpadding="4" cellspacing="2">
<tr>
<td bgcolor="#EDE8C9">
<table width="350" align="center">
<tr>
<td bgcolor="#FFFFCC"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Selecciona
alumne/a</strong></font></td>
</tr>
<tr>
<?php


// Amb aquest while recorrem tot el RecordSet tornat, mentre hi hagi contingut
// Amb list() assignem cadascun dels camps del RS a les variables passades
// Per a cada element crearem un 'radio button' amb el nom de l'alumne/a al costat
while (list($matricula,$nom,$cognom1,$cognom2)=$result->fields) {
?>
<td bgcolor="#CCFFCC"> <label>
<input type="radio" name="tria" value="<?php echo $matricula;?>" >
<?php echo "<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">".$cognom1." ".$cognom2.", ".$nom."</font>" ; ?>
</label></td>
</tr>
<?php
// Pasem al registre següent del RS
$result->MoveNext();
}

?>
</table>
<p align="center">
<input type="submit" name="enviat" value="Entrevistes">
<input type="submit" name="enviat" value="Seguiment">
</p></td>
</tr>
</table>
<p>&nbsp; </p>
</form>

  Llistat 6.2.1. Codi parcial per a la selecció mitjançant botons d'opció o 'radio buttons'
   
 

Per aconseguir aquesta selecció, recorreu amb un while tots els registres de la selecció. Per mitjà d'un list aneu assignant cada valor a unes variables que llegireu dins del while. Aleshores, assigneu a cada value la variable $matricula i al text que acompanya el radio hi escriviu el nom de l'alumne/a.

D'aquesta manera, el codi HTML generat és, per exemple, el següent:

   
  <input type="radio" name="tria" value=" 801">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">ROCA RUIZ, RUBEN</font></label></td>
  Llistat 6.2.2. Codi HTML generat
   
  El resultat és el que podeu veure a la imatge següent:
   
 

Figura 6.2.1

   
   
  Quan seleccioneu un/a alumne/a i cliquem sobre Entrevistes, el que feu és passar una variable $tria amb el valor del número de matrícula de l'alumne/a seleccionat. En rebre aquest número, poseu-lo a la variable de sessió $S_matricula, disponible llavors en qualsevol altre procés de l'aplicatiu mentre no desconnecteu la sessió.
   
   
  Selecció amb llista
   
Pràctica

Veureu tot seguit una altra manera de fer aquesta mateixa selecció. Recordeu que es tracta de veure possibilitats diferents per poder decidir quina és la manera que interessa més en cada situació concreta.

Seleccionareu els alumnes mitjançant una llista de selecció o un menú de persiana. L'etiqueta HTML que li correspon és <SELECT> </SELECT>.

Recordeu que la sintaxi d'aquestes etiquetes és la que segueix:

   
  <select name="nom variable passada pel select">
<option value="valor a passar 1">Element llista 1</option>
<option value="valor a passar 2">Element llista 2</option>
</select>
  Llistat 6.2.3. Sintaxi html per a Select
   
 

Per tant, el que feu és aprofitar el mateix procés recursiu del procediment anterior (amb radio button) i substituir els valors que s'han de passar pel número de matrícula de l'alumne/a i l'Element llista pel seu nom.

Ho podeu aconseguir fàcilment substituint al fitxer selecalum.php el codi del llistat 6.2.4 pel del llistat 6.2.5. Aquest codi el trobareu a la part del formulari.

   
 

<tr>
<?php
while (list($matricula, $nom, $cognom1, $cognom2) = $result->fields) {
?>
<td bgcolor="#CCFFCC"> <label>

<input type="radio" name="tria" value="<? echo $matricula;?>">
<? echo "<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">".$cognom1." ".$cognom2.", ".$nom."</font>" ; ?></label></td>
</tr>
<?
$result->MoveNext();
}

?>

  Llistat 6.2.4. Codi que s'ha d'eliminar de selecalum.php.
   
 

<tr>
<td>
<select name="tria">
<? while (list($matricula, $nom, $cognom1, $cognom2) = $result->fields) {?>
<option value="<? echo $matricula; ?>"><? echo alum($matricula, $ConTut)?></option>
<?
$result->MoveNext();
}
?>
</select>
</td>
</tr>

  Llistat 6.2.5. Codi que s'ha d'afegir a selecalum.php.
   
Cal comentar que al llistat 6.2.5 s'utilitza també la funció alum() que s'ha definit al fitxer funcions.php. El que fa aquesta funció és retornar, a partir d'un número de matrícula i d'una connexió a la base de dades, el nom sencer de l'alumne/a en el format cognom1 cognom2, nom.
   
  El resultat és el que veieu a la imatge següent, sense desplegar:
   
 

Figura 6.2.2

   
   
  Desplegat:
   
 

Figura 6.2.3

   
   
Amunt
Pràctica
1
2
3
4
   
Exercicis
Exercicis