Ejercicio API

Vamos a consultar libros y artículos del nytimes. Aquí hay la lista de las apis:

https://developer.nytimes.com/apis

Yo me he creado una apikey: SFq0lnJwGzV4X8XyqV2kQvA3LgKAp3kN

Pero os podéis crear la vuestra.

Me gustaría que, desde el postman, accediéramos a la lista de los libros más vendidos y a los artículos de los tres últimos meses.

También podéis crear vuestra propia apikey y acceder, por ejemplo, a películas.

¡A por ello!

Añadir actor a película


$server = "localhost";
$user = "root";
$password = "";
$db = "sakila";
try {
    $conn = new PDO("mysql:host=$server;dbname=$db;charset=UTF8", $user, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //Los datos que tengo que insertar
  
    $nombre = "VIVIEN";
    $apellidos = "BERGEN";
    $pelicula="ACADEMY DINOSAUR";
    
    $sql="SELECT * FROM actor where first_name=:first_name and last_name=:last_name";
    $parametros=[
        'first_name'=>$nombre,
        'last_name'=>$apellidos
    ];
    
    $st=$conn->prepare($sql);
    $st->execute($parametros);
    $actor=$st->fetch();
    $actor_id=$actor['actor_id'];
    echo $actor_id;
    
     $sql="SELECT * FROM film where title=:title";
    $parametros=[
        'title'=>$pelicula
    ];
    
    $st=$conn->prepare($sql);
    $st->execute($parametros);
    $film=$st->fetch();
    $film_id=$film['film_id'];
    echo $film_id;
    
    $sql="insert into film_actor(film_id,actor_id) values (:film_id,:actor_id)";
     $parametros=[
        'film_id'=>$film_id,
        'actor_id'=>$actor_id,
    ];
    $st=$conn->prepare($sql);
    $st->execute($parametros);
} catch (Exception $e) {
    echo "Connection failed: " . $e->getMessage();
}

Ejercicios vistas

Crear una vista que nos muestre el pais, la ciudad, la dirección y el nombre de los clientes. La podemos llamar clientes_direccion

Con esa vista creada será muy fácil mostrar los clientes de Argentina o Italia

Crear una vista que nos relacione la película con sus pagos. Que nos muestre el id de la película, el title, y todos los datos de payment.

Con esa vista sería muy fácil ver el total de pagos por película.

Ejemplo Alias


select count(title) total
from film f join film_category fc on f.film_id=fc.film_id
join category c on fc.category_id = c.category_id
where name='Action'

Tablero de ajedrez


$tamany = 8;
echo "<table border=1>";
for ($i = 0; $i < $tamany; $i++) {
    echo "<tr>";
    for ($j = 0; $j < $tamany; $j++) {
        if (($i + $j) % 2 == 0) {
            echo "<td style='background-color:black;width:20px;height:20px'></td>";
        } else {
            echo "<td style='width:20px;height:20px'></td>";
        }
    }
    echo "</tr>";
}
echo "</table>";

Ejercicios for

1.- Hacer un ejercicio que nos muestre los 10 primeros números y sus cuadrados.

2.- Hacer un ejercicio que nos pida un número y nos imprima tantas líneas ‘*****’ como el número.

3.- Hacer un ejercicio que nos pida un número y nos imprima una cadena con tantos ‘*’ como nos hayan puesto

4.- ¿Es posible combinar los dos ejercicios anteriores para que nos cree un cuadrado de asteriscos con el número que nos pasan?

5.- Hacer una página que nos pida un número y nos diga la suma desde al 1 hasta ese número. Ejemplo: 5 ->1+2+3+4+5 = 15

6.- Lo mismo que el anterior pero que por un lado nos sume los pares y por el otro los impares.

7.- Hacer una página que nos pida una cadena y un número y nos muestre una lista de html con esa cadena repetida número veces y con el número al lado. Ejemplo cadena: ‘Ana’ número: 3 devolvería:

  • Ana 1
  • Ana 2
  • Ana 3

8.- Crear una página que nos pida un número y nos cree una tabla cuadrada con ancho y alto el número que nos han pedido.

9.- Lo mismo que el anterior pero que cada celda tenga un número consecutivo.

10. Lo mismo que el 8 pero en plan tablero de ajedrez, casillas blancas y negras alternas.