Diferència entre revisions de la pàgina «Recull d'exercicis SM9 ASIX2. Curs 2023-2024»
(Hi ha 2 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 24: | Línia 24: | ||
[https://sm9.binefa.cat/00/09/ 9.] Feu un formulari amb dues entrades de text i un botó. Introduïu dos números i feu la suma, resta, divisió i la multiplicació dels dos números | [https://sm9.binefa.cat/00/09/ 9.] Feu un formulari amb dues entrades de text i un botó. Introduïu dos números i feu la suma, resta, divisió i la multiplicació dels dos números | ||
− | [https://sm9.binefa.cat/00/10/ 10.] | + | [https://sm9.binefa.cat/00/10/ 10.] Fent servir el mètode '''GET''' i dos ''for'' niats per a que surti una forma com aquesta: |
^ | ^ | ||
^ ^ | ^ ^ | ||
Línia 39: | Línia 39: | ||
$caracter = $espai . "^"; #El caràcter que formarà la piràmide | $caracter = $espai . "^"; #El caràcter que formarà la piràmide | ||
$numFiles = 10; #Número de files que vull generar | $numFiles = 10; #Número de files que vull generar | ||
− | [https://sm9.binefa.cat/00/11/ 11.] A partir de l'[https://sm9.binefa.cat/00/10/exercici anterior], feu un formulari a on es demani un caràcter de visualització i el nombre de files del triangle. | + | [https://sm9.binefa.cat/00/11/ 11.] A partir de l'[https://sm9.binefa.cat/00/10/exercici anterior], fent servir el mètode '''POST''', feu un formulari a on es demani un caràcter de visualització i el nombre de files del triangle. |
+ | = Connexió PDO entre PHP i MariaDB = | ||
+ | == Preparació == | ||
+ | * Instal·leu a la màquina virtual ''zip'', ''libzip-dev'' i ''libpng-dev'': | ||
+ | sudo apt update | ||
+ | sudo apt zip libzip-dev libpng-dev | ||
+ | * Si no teniu instal·lats les extensions PDO de PHP per a MariaDB: ''mysqli'', ''pdo'', ''pdo_mysql'', ''gd'' i ''zip''. Entre d'altres: | ||
+ | sudo apt install php libapache2-mod-php php-mysql | ||
+ | [https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-11 Aquí podeu trobar més ajuda] | ||
+ | == Exemples d'ús de connexió PDO == | ||
+ | Documenteu els següents exemples: | ||
+ | |||
+ | * Feu una primera connexió des de PHP a la vostra base de dades. Heu de fer una verificació [https://sm9b.binefa.cat/bd/00_connect.php d'aquest estil] | ||
+ | <?php | ||
+ | // Example (PDO) at https://www.w3schools.com/php/php_mysql_connect.asp | ||
+ | <!-- // $servername = "172.18.0.12"; // docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sm9b_binefa_cat_db_docker --> | ||
+ | $servername = "127.0.0.1"; | ||
+ | $username = "root"; | ||
+ | $password = "fjeclot"; | ||
+ | |||
+ | try { | ||
+ | $conn = new PDO("mysql:host=$servername;dbname=lamp_db", $username, $password); | ||
+ | // set the PDO error mode to exception | ||
+ | $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | ||
+ | echo "Connectat a la base de dades."; | ||
+ | } catch(PDOException $e) { | ||
+ | echo "No es pot connectar. Motiu: " . $e->getMessage(); | ||
+ | } | ||
+ | ?> | ||
+ | * Feu un exemple de [https://www.w3schools.com/php/php_mysql_create.asp creació de base de dades] (PDO) | ||
+ | |||
+ | * Feu un exemple de [https://www.w3schools.com/php/php_mysql_create_table.asp creació d'una taula] (PDO) | ||
+ | |||
+ | * Feu un exemple [https://www.w3schools.com/php/php_mysql_insert.asp d'inserció de dades] (PDO) | ||
+ | |||
+ | * Feu un exemple [https://www.w3schools.com/php/php_mysql_insert_lastid.asp d'obtenció del darrer ID] (PDO) | ||
+ | |||
+ | * Feu un exemple [https://www.w3schools.com/php/php_mysql_insert_multiple.asp d'inserció múltiple] (PDO) | ||
+ | |||
+ | * Feu un exemple de [https://www.w3schools.com/php/php_mysql_prepared_statements.asp declaracions preparades i paràmetres enllaçats] (PDO) | ||
+ | |||
+ | * Feu un exemple de [https://www.w3schools.com/php/php_mysql_select.asp selecció de dades] (PDO) | ||
+ | |||
+ | function current()''': string''' { // Afegiu : ''string'' per indicar el tipus de dades a retornar. Així eviteu missatge ''Deprecated'' | ||
+ | ... | ||
+ | function beginChildren()''': void''' { // Afegiu : ''void'' per indicar el tipus de dades a retornar. Així eviteu missatge ''Deprecated'' | ||
+ | ... | ||
+ | function endChildren()''': void''' { // Afegiu : ''void'' per indicar el tipus de dades a retornar. Així eviteu missatge ''Deprecated'' | ||
+ | |||
+ | * Feu un exemple de l'[https://www.w3schools.com/php/php_mysql_select_where.asp ordre WHERE] (PDO) | ||
+ | |||
+ | * Feu un exemple de l'[https://www.w3schools.com/php/php_mysql_select_orderby.asp ordre ORDER BY] (PDO) | ||
+ | |||
+ | * Feu un exemple d'[https://www.w3schools.com/php/php_mysql_delete.asp esborrament de dades] (PDO) | ||
+ | |||
+ | * Feu un exemple d'[https://www.w3schools.com/php/php_mysql_update.asp actualització de dades] (PDO) | ||
+ | |||
+ | * Feu un exemple de [https://www.w3schools.com/php/php_mysql_select_limit.asp limitació de dades] (PDO) Aprofiteu el codi de selecció de dades per a limitar quantes línies de la taula s'han de veure i a partir de quina es comença. |
Revisió de 11:40, 23 oct 2024
Contingut
Presa de contacte amb el PHP
1. Escriu el programa que mostri en php el teu nom i cognoms, i el teu correu electrònic en línies diferents. Feu servir variables per a assignar el vostre nom, cognom i correu electrònic
2. Escriu un programa que donades tres variables amb un valor diferent cadascuna les mostri per pantalla i digui el tipus (gettype)
3. Sabent que la funció rand ens retorna un valor aleatori entre un ventall de dos enters: Genera 3 números i mostra per pantalla el tres números i la frase "El més gran és " + número més gran
4. Obté quin dia de la setmana és avui amb date("D") i mostra-ho en català emprant un switch
5. Suma els 10 primers números naturals emprant un while
6. Donada una base i un exponent enter, calcula la potència amb un bucle
7. Mostra una taula amb els números d'1 al 100 de 10 en 10 (etiquetes HTML table, tr i td)
8. Donat una vector (array) mostra en una taula els índex i els valors
$vector[0] = "ASIX2"; $vector[1] = "Escola del Clot"; $vector[2] = "v2.1"; $vector[3] = "3.14159"; $vector[4] = null; $vector[5] = 2017;
9. Feu un formulari amb dues entrades de text i un botó. Introduïu dos números i feu la suma, resta, divisió i la multiplicació dels dos números
10. Fent servir el mètode GET i dos for niats per a que surti una forma com aquesta:
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
Feu servir aquestes variables dins el doble bucle for
$espai = " "; #Espai buit $caracter = $espai . "^"; #El caràcter que formarà la piràmide $numFiles = 10; #Número de files que vull generar
11. A partir de l'anterior, fent servir el mètode POST, feu un formulari a on es demani un caràcter de visualització i el nombre de files del triangle.
Connexió PDO entre PHP i MariaDB
Preparació
- Instal·leu a la màquina virtual zip, libzip-dev i libpng-dev:
sudo apt update sudo apt zip libzip-dev libpng-dev
- Si no teniu instal·lats les extensions PDO de PHP per a MariaDB: mysqli, pdo, pdo_mysql, gd i zip. Entre d'altres:
sudo apt install php libapache2-mod-php php-mysql
Exemples d'ús de connexió PDO
Documenteu els següents exemples:
- Feu una primera connexió des de PHP a la vostra base de dades. Heu de fer una verificació d'aquest estil
<?php // Example (PDO) at https://www.w3schools.com/php/php_mysql_connect.asp $servername = "127.0.0.1"; $username = "root"; $password = "fjeclot"; try { $conn = new PDO("mysql:host=$servername;dbname=lamp_db", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connectat a la base de dades."; } catch(PDOException $e) { echo "No es pot connectar. Motiu: " . $e->getMessage(); } ?>
- Feu un exemple de creació de base de dades (PDO)
- Feu un exemple de creació d'una taula (PDO)
- Feu un exemple d'inserció de dades (PDO)
- Feu un exemple d'obtenció del darrer ID (PDO)
- Feu un exemple d'inserció múltiple (PDO)
- Feu un exemple de declaracions preparades i paràmetres enllaçats (PDO)
- Feu un exemple de selecció de dades (PDO)
function current(): string { // Afegiu : string per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated ... function beginChildren(): void { // Afegiu : void per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated ... function endChildren(): void { // Afegiu : void per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated
- Feu un exemple de l'ordre WHERE (PDO)
- Feu un exemple de l'ordre ORDER BY (PDO)
- Feu un exemple d'esborrament de dades (PDO)
- Feu un exemple d'actualització de dades (PDO)
- Feu un exemple de limitació de dades (PDO) Aprofiteu el codi de selecció de dades per a limitar quantes línies de la taula s'han de veure i a partir de quina es comença.