Diferència entre revisions de la pàgina «Recull d'exercicis SM9 ASIX2. Curs 2023-2024»

De binefa.com
Salta a la navegació Salta a la cerca
m
 
(Hi ha una revisió intermèdia del mateix usuari que no es mostren)
Línia 40: Línia 40:
 
   $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], 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.
 
[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

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 = "&nbsp";           #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

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ó 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();
}
?>
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 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.