Enrera
Mòdul 5
Creació i gestió d'entorns web dinàmics (PHP)
  Exercicis
   
 
 
1. Generació del sistema de consultes
   
  Es pretén crear un sistema que a partir d'unes sentències SQL emmagatzemades en una taula de la base de dades, deixi seleccionar a través d'un menú desplegable una d'aquestes consultes, i visualitzi el resultat de la consulta escollida mitjancant la funció RS2HTML d'ADODB, explicada a la pràctica 4 d'aquest mòdul
 
  Per poder reutilitzar aquesta pràctica a l'aplicatiu de tutoria que es desenvoluparà més endavant, establirem un seguit de directives per a la creació d'aquest exercici. Creareu una taula a la base de dades de tutoria, amb el PhpMyAdmin, anomenada consultes, on incloureu els camps següents:
   
 
Camp Tipus Nul Valor per defecte
IDEN int(10) No Autoincrement
CODI varchar(40) No  
DESCRIPCIO text NUL
SQL_CON text NUL
NIVELL_SEG smallint(4) No 1
 
Figura 4.E.1. Camps de la taula Consultes
  Declarareu com a clau primària el camp IDEN, i introduireu els valors següents a la taula:
   
 
IDEN CODI DESCRIPCIO SQL_CON NIVELL_SEG
  CON_PR1 Professors incorporats per any (*1) 1
  CON_AL2 Alumnes amb 1 tutor/a legal (*2) 2
  CON_PR2 Professors en actiu (*3) 3
   
(*1)

SELECT TRIM(anyalta), COUNT(*)AS Prof_incorporats
FROM professor
GROUP BY anyalta
ORDER BY anyalta DESC

 
(*2)
SELECT al.nom, al.cognom1, al.cognom2, tl.nom , tl.comunicats
FROM alumnes AS al
LEFT JOIN tutlegal AS tl ON al.idtutor1 = tl.idtutor
WHERE al.idtutor2 IS NULL
ORDER BY al.cognom1
 
(*3)

SELECT codi, CONCAT(cognom1,' ',cognom2,', ','Nom') as Nom,TRIM(anyalta),TRIM(anybaixa)
FROM professor
WHERE anybaixa < anyalta
ORDER BY nom

   
 

Una vegada teniu les dades a la taula, és el moment de definir els fitxers de programes, identificatiu+ex_menu.php i identificatiu+ex_resul.php. En el primer creareu un menú (amb el GetMenu de l'ADODB), on el camp que s'ha de visualitzar és la DESCRIPCIÓ de la taula consultes, i el valor retornat és el camp IDEN; una vegada seleccionada la consulta, envia al fitxer identificatiu+ex_resul.php, passant-li el paràmetre IDEN.

   
Executar codi

Figura 5.E.1. Execució de l'exercici del mòdul 5

   
  El fitxer identificatiu+ex_resul.php, a partir del paràmetre IDEN rebut (recordeu que al mòdul 3, pràctica 2, s'ha explicat com llegir una variable d'un formulari que es troba en un altre fitxer, amb el mètode '$_POST' -Llistat 3.2.2 ), ha de cercar a la taula Consultes el camp SQL_CON que li correspon. Una vegada ja teniu la sentència SQL que ha seleccionat l'usuari/ària, executeu aquesta nova sentència sobre la base de dades, i mostreu el resultat amb la funció rs2html( ) de l'ADODB.
   
  Recordeu que ambdós fitxers poden utilitzar el fitxer de connexió ' ./connexio/tutoria_con.php' que crea un objecte del tipus connexió amb el nom de ' ConTut '.
   
Executar codi

Figura 5.E.2. Execució de l'exercici del mòdul 5.

   
  Des del gestor PhpMyAdmin, entreu almenys tres registres més a la taula consultes i feu una exportació de dades i estructura d'aquesta taula (Consultes) a un fitxer amb format SQL. Heu de nombrar el fitxer amb el nom idendificatiu+t_consultes.sql.
   
  Un cop comprovat el funcionament, heu de comprimir aquests tres fitxers amb el nom d'identificatiu+m5e1.zip i enviar-lo al vostre tutor/a.
   
  Recordeu d'inserir i actualitzar les capçaleres del fitxers php, ja que són obligatòries en l'entrega dels fitxers.
   
  2. Exercici opcional. Generació del sistema de consultes (2)
   
Recordem que aquest exercici és opcional i no és necessari fer la validació d'aquest mòdul per part del formador/a, ja que es necessita un grau avançat de consolidació dels conceptes adquirits fins ara.
   
  En primer lloc, us demanem que feu una còpia dels fitxers identificatiu+ex_menu.php i identificatiu+ex_resul.php i que els nombreu com a identificatiu+op_menu.php i identificatiu+op_resul.php. En principi, el fitxer ..op_menu.php és idèntic en els dos casos, ja que mitjançant un objecte GetMenu, l'usuari/ària escull quina consulta vol executar.
   
  La diferència principal d'aquest exercici resideix en el fitxer que mostra el resultat identificatiu+op_resul.php; ara heu de visualitzar les dades amb un objecte ADODB_Pager, també explicat a la pràctica 4 d'aquest mòdul. A diferència de l'exercici anterior, les dades es mostren paginades i accediu a totes les dades a partir de les icones d'avançar i retrocedir.
   
  La dificultat radica en el fet que la consulta l'heu de guardar en una variable de sessió, ja que ADODB_Pager s'anirà cridant automàticament a si mateix per mostrar les diferents pàgines, i és necessari que el sistema emmagatzemi aquesta dada durant tot el procés en una variable de sessió.
   
Executar codi

Figura 5.E.3. Execució de l'exercici optatiu del mòdul 5

   
  Un cop comprovat el funcionament, heu de comprimir aquests dos fitxers amb el nom d'identificatiu+m5op2.zip i enviar-lo al vostre tutor/a, si ho creieu necessari.
   
   
   
 
Amunt