CREATE TABLE news ( Id_news INT (11) NOT NULL PRIMARY KEY AUTO_INCREMENT, Date_creation INT (10) NOT NULL, Titre VARCHAR(50) NOT NULL, News TEXT NOT NULL ) ;
<?php $host = 'localhost'; // Adresse de connexion à la base de données (généralement localhost) $user = 'root'; // Identifiant de connexion $password = ''; // Mot de passe de connexion $bdd = 'bdd_news'; // Nom de la base de données à laquelle on va se connectée // Connexion puis sélection de la base de données $dblink = mysql_connect($host, $user, $password) ; mysql_select_db($bdd, $dblink); ?>Passons maintenant à la création de l'enregistrement.
<?php include_once('connexion.php'); // Inclusion de la connexion à MySQL /* Utilisation d'une variable servant n'utiliser qu'une page * pour l'insertion des news (Elle sert à identifier dans quel état * on devra faire l'insertion ou l'affichage du formulaire) */ $ok = NULL; // Initialisation d'une variable $ok = $_GET['ok']; /* Test de la variable : * si elle n'est pas vide ou si la variable existe on peut insérer l'enregistrement */ if(!empty($ok) && isset($ok)) { // Récupération des variables $titre = $_POST['titre']; // Récupération du contenu d'un formulaire par la variable $_POST[] $news = mysql_real_escape_string($_POST['news'], $dblink); // La fonction mysql_real_escape_string() Protège les caractères spéciaux d'une commande SQL // Récupération de la date $date_creation = time(); // Insertion dans la table, on utilise une requete SQL $sql = "INSERT INTO `news` VALUES ('', '$titre', '$date_creation', '$news')"; $query = mysql_query($sql, $dblink); // Envoi de la requête à la base de données unset($ok); // On supprime la variable mysql_close($dblink); // Fermeture de la connexion à la base de données } else { // Sinon on affiche le formulaire /* Explication brève du formulaire : déclaration d'un formulaire avec la balise form, on renvoi la variable ok avec une valeur quelconque, ici 1 */ ?> <form method="post" action="ajout_news.php?ok=1" name="form_news"> Titre : <input name="titre" type="text" value="" /> <br />News : <textarea name="news" rows="30" cols="85"></textarea> <br /><input type="submit" value="Ajouter la news" /> </form> <?php } ?>Nous pouvons désormais créer la page permettant de supprimer ces news (erreur de frappe, news erronée, etc...).
<?php include_once('connexion.php'); // Inclusion de la connexion à MySQL /* Même principe que plus haut, on utilise la variable ok pour différencier l'état d'affichage et l'état de suppression */ $ok = NULL; // Initialisation de la variable ok à la valeur nulle $ok = $_GET['ok']; // Si cette variable n'est pas vide ou si la variable existe on peut insérer l'enregistrement if(!empty($ok) && isset($ok)) { // Récupération de l'id de la news $id_news = $_GET['id_news']; // Insertion dans la table, on utilise une requete SQL $sql = "DELETE FROM news WHERE id_news = "'.$id_news.'""; $query = mysql_query($sql, $dblink); // Envoi de la requête à la base de données unset($ok); // On supprime la variable } else { $sql = 'SELECT id_news,titre FROM news'; $query = mysql_query($sql, $dblink); // Envoi de la requête à la base de données while($fetch=mysql_fetch_array($query)) { // On place en variables le résultat de chaque case du tableau $titre = $fetch['titre']; $id_news = $fetch['id_news']; // Affichage echo '<a href="suppr_news.php?id_news='.$id_news.'&ok=1">'.$titre.'</a>'; /* Toujours sur le même principe que le formulaire, il faut initialiser * la variable ok à une valeur, ici nous passons cette valeur dans l'URL */ } } mysql_close($dblink); // Fermeture de la connexion à la base de données ?>
<?php include_once('connexion.php'); // Inclusion de la connexion à MySQL // Requête SQL $sql = 'SELECT date_creation,titre,news FROM news ORDER BY date_creation DESC'; // On sélectionne les champs id_news et titre, qui sont les plus utiles $query = mysql_query($sql, $dblink); // Envoi de la requête à la base de données /* Etant donné que l'on aura plus d'un enregistrement dans la table, il faut effectuer une boucle pour afficher tout les résultats. Tant que l'on aura des enregistrements, on boucle, on place dans la variable $fetch le résultat de mysql_fetch_array qui classe dans un tableau les résultats ressortant de notre requête */ while($fetch=mysql_fetch_array($query)) { // On place en variables le résultat de chaque case du tableau $titre = $fetch['titre']; $news = StripSlashes($fetch['news']); /* Utilisation de la fonction StripSlashes()qui sert à supprimer * les antislashs ajoutés devant les guillemets par * mysql_real_escape_string() ( par précaution ) que l'on a utiliser * auparavant dans l'ajout des enregistrements */ /* Du fait que l'on a la date de création en format timestamp, * on utilise la fonction date(); qui permet de ressortir tout * les renseignements voulu. * Pour plus de détails sur les formats utiliser : http://fr3.php.net/date */ $date = date('d/m/Y', $fetch['date_creation']); $heure = date('H:i:s', $fetch['date_creation']); // Affichage echo '<strong>'.$titre.'</strong> ajouté le '.$date.' à '.$heure; echo $news; echo '<br /><br />'; } mysql_close($dblink); // Fermeture de la connexion à la base de données ?>
Inscrire un commentaire