====== 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]] * [[PDO]] * [[SQL injection]] 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 de validació 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 (amb un input text). El nom del país pot coincidir parcialment. Mostra el nom de la ciutat i el 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.