====== Fites DAW MP07 UF3 ======
====== Accés a dades ======
Les fites son exercicis curts que l'alumne ha de poder resoldre en poc temps i que garanteixen l'assoliment dels continguts i competències de la UF d'acord amb els seus RAs.
Per la UF3 de M7 de DAW son els següents:
Cal resoldre-les amb MySQL i PDO:
- Crear o modificar una taula de la BD i fer-hi una query bàsica.
- Afegir usuaris i permisos a la BD.
- Realitzar queries amb filtres d'una sola taula.
- Crear menu de selecció a partir d'una taula.
- Realitzar queries de diverses taules amb filtres (join).
- Afegir un registre en una taula.
- Actualitzar valor d'una taula.
Apunts amb exemples: [[PHP MySQL]].
Necessitareu les següents bases de dades d'exemple:
* [[https://dev.mysql.com/doc/index-other.html|World.sql sample DB]] de la web oficial de MySQL
* [[https://www.mysqltutorial.org/mysql-sample-database.aspx|Classicmodels sample DB]] de mysqltutorial.org
Les fites avaluatives de final de UF es faran amb la [[https://www.mysqltutorial.org/mysql-sample-database.aspx|BD "classicmodels" de mysqltutorial.org]].
{{tag> #Daw #DawMp07 #DawMp07Uf3 #DawMp07Uf03 PHP MySQL HTTP DB BD bases_de_dades fita fites }}
\\
===== Fita 1 : creació i consulta bàsica =====
----
Crear o modificar una taula de la BD i fer-hi una query bàsica.
==== Exercici 1.1 ====
Crear taula ''usuaris'' amb nom, cognoms, email, contrasenya i telefon.
Afegir al menys 3 registres.
Mostrar les dades dels usuaris en una taula (menys la contrasenya), afegint a la darrera columna botons per esborrar i modificar el registre (sense implementar funcionalitat dels botons).
\\
===== Fita 2 : usuaris i permisos =====
----
Afegir usuaris i permisos a la BD.
==== Exercici 2.1 ====
Afegir usuari "admin" a MySQL amb permisos per llegir i escriure en totes les BD.
==== Exercici 2.2 ====
Afegir usuari "lector" amb permisos per llegir totes les bases de dades però sense permisos d'escriptura.
==== Exercici 2.3 ====
Afegir usuari "blog" amb permisos per llegir i escriure només a la base de dades "wordpress".
\\
===== Fita 3 : consultes d'una sola taula ======
----
Realitzar queries amb filtres d'una sola taula.
==== Exercici 3.1 ====
Amb la BD world.sql:
Llistat de ciutats filtrades per nombre d'habitants.
==== Exercici 3.2 ====
Amb la BD world.sql
Crea un formulari per filtrar llengües a partir del nom de la llengua, però que no cal que coincideixi exactament amb el seu nom (pot ser una coincidència parcial).
Extreu un llistat amb:
* Nom de la llengua. Només es poden repetir 1 cop, o màxim dos si hi estan oficials i no-oficials en diversos països (usant distinct).
* Si és oficial posarem: [OFICIAL] , si no ho és, no posarem res.
* NO s’ha de mostrar ni el país ni el percentatge.
\\
===== Fita 4 : menú de selecció ======
----
Crear menú de selecció a partir de les dades d'una taula.
==== Exercici 4.1 ====
Menú de selecció: pot ser un menú desplegable tipus //dropdown// o bé un //radio button//.
Amb la BD world.sql : Llistat de països amb filtre de continent (menú desplegable).
{{world-filtre-continent.png}}
\\
==== Exercici 4.2 ====
Menú de selecció múltiple amb //checkbox//.
Amb la BD world.sql : Llistat de països amb filtre de continent (menú de selecció múltiple).
{{world-filtre-checkboxes.png?450}}
\\
===== Fita 5 : consultes amb join ======
----
Realitzar queries de diverses taules amb filtres (join).
==== Exercici 5.1 ====
Amb la BD world.sql
Elaborar un formulari de cerca de ciutats filtrant pel nom del país.
==== Exercici 5.2 ====
Amb la BD world.sql
Crea un formulari per filtrar llengües a partir del nom del país, però que no cal que coincideixi exactament amb el seu nom (pot ser una coincidència parcial).
Mostra llistat de:
* NOM del país (NO el codi!)
* Llengua
* Si és oficial
* Percentatge
\\
===== Fita 6 : afegir registre ======
----
Afegir un registre en una taula.
==== Exercici 6.1 ====
Utilitzant la base de dades world.sql
Crea un formulari per afegir una nova llengua a la BD.
* El país s’ha de seleccionar d’un SELECT.
* Fixa’t en que la columna “IsOfficial” és un ENUM, que pot ser T (true) o F (false). Resol aquesta amb un radio button o amb un checkbox.
==== Exercici 6.2 ====
Sense cap base de dades de partida. Cal crear taules ''usuaris'' i ''tipus_usuari''.
Formulari de registre d'usuaris amb selector del tipus d'usuari a crear (alumne, professor). Els tipus d'usuari els tenim en una taula ''tipus_usuari'' relacionada per FK amb la taula d'usuaris.
\\
===== Fita 7 : actualitzar registres ======
----
Actualitzar valors dels registres d'una taula.
==== Exercici 7.1 ====
Implementar l'exercici 1.1 (creació de taules d'usuari i tipus_usuari).
Implementar funcionalitat del botó de modificació d'un registre d'usuari (tots els camps).
==== Exercici 7.2 ====
Realitzar exercici 1.1
Implementar un botó "canvi de tipus d'usuari" que, en prèmer-ho, canviï el tipus d'usuari directament. El tipus d'usuari caldrà prendre'l dels diferents rols definits a la taula ''tipus_usuari'' de forma cíclica, ordenant el rol per ordre alfabètic.