GithubHelp home page GithubHelp logo

blog-pdo's Introduction

Blog PDO

Objectif

Le but de cet atelier est de mettre un place un micro blog afin de pratiquer PDO. Tu as à ta disposition tout un squelette html/css, tu n'as pas besoin d'y toucher. Concentre toi sur PHP et la manipulation de la base.

Etapes

  1. Après avoir cloné ce dépot, et lancé ton serveur PHP embarqué, attaque toi à la suite des directives ci-dessous.

  2. Créer une base de données appelée "blog" en local via le terminal :

    CREATE DATABASE blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;`,
  1. Créer une table "article" contenant les champs suivants avec les types adaptés :
mysql> DESCRIBE article;
+---------+--------------+------+-----+-------------------+----------------+
| Field   | Type         | Null | Key | Default           | Extra          |
+---------+--------------+------+-----+-------------------+----------------+
| id      | int(11)      | NO   | PRI | NULL              | auto_increment |
| title   | varchar(255) | NO   |     | NULL              |                |
| author  | varchar(255) | NO   |     | NULL              |                |
| date    | datetime     | YES  |     | CURRENT_TIMESTAMP |                |
| content | text         | YES  |     | NULL              |                |
+---------+--------------+------+-----+-------------------+----------------+
  1. Configurer la connexion à la base de données via le fichier "inc/connection.php",

  2. Créer une nouvelle instance $pdo de la classe PDO permettant à l'application de se connecter au serveur (je te laisse deviner quel est l'endroit le plus judicieux),

  3. Reprendre la page "create.php" contenant un formulaire pour permettre l'ajout d'un article. Pour cela tu dois :

    • Récuperer les données saisies par l'utilisateur,
    • Rédiger la requete permettant l'insertion d'un nouvel article,
    • Executer la requete via PDO.
  4. Reprendre la page "index.php", afin d'afficher la liste des articles existants. Pour cela tu dois :

    • Rédiger la requete permettant de récuperer TOUS mes articles,
    • Executer la requete via PDO,
    • Récuperer le résultat de la requete pour afficher autant de "cards" qu'il y a d'articles.
    • Adapter le fichier _"template/card.php" pour que le contenu soit dynamique et issue de la base de données. (le ficher _card.php étant en require dans "index.php", il a accès aux variables du fichier qui l'inclue).
  5. Reprendre la page "article.php" afin d'afficher un article dans son ensemble en passant l'id de l'article voulu dans l'url. Pour cela tu dois :

    • Rédiger la requete permettant de récuperer un article, dont l'ID correspond à celui passé en paramètre dans l'url
    • Executer la requete via PDO,
    • Récuperer le résultat de la requete pour afficher le contenu issue de la base de données.
  6. BONUS : Créer une page "author.php?name=AUTHOR_NAME" sur la base des pages déjà existantes qui permet de lister tous les articles d'un même auteur sur la base de son nom. N'oublies pas d'ajouter le lien vers cette page au bon endroit.

  7. BONUS : Reprendre la page "index.php" pour y ajouter un systeme de pagination.

Astuce

Tu as remarqué le footer ? tu y trouveras un affichage de debug des différentes informations que tu vas devoir manipuler.

Resources

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.