====== 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.