Modification et suppression des articles par catégories

Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici.

Nous allons créer une nouvelle page nommé "voir-categorie.php" qui sera encore et toujours enregistrée dans le dossier "admin" et qui va nous permettre de regrouper nos articles par catégorie dans le but de pouvoir les modifier ou de les supprimer.

Cette page doit nous permettre :

  1. D'afficher le titre des articles avec un lien vers l'article en lui même.
  2. De modifier les articles.
  3. De supprimer les articles.

Comme d'habitude, on récupère l'identifiant transmit dans l'url depuis la page "index.php", puis on va chercher les données correspondant dans la table adéquate.

Rappel du lien de la page "index.php" :

<a href="voir-categorie.php?id='.$affiche['id'].'">'.$affiche['nom_categorie'].'</a>
On va procéder de la même façon que la page "index.php", au détail prêt que l'on va utiliser l'identifiant transmit par l'url pour sélectionner les articles de la catégorie concernée.
<?php
//on récupère l'identifiant depuis l'url
$id=$_GET['id'];
 
echo '<h1>Cat&eacute;gorie '.$id.'</h1>';
 
// on se connecte à la base de données
include('../connexion_bd.php');
 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de s&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier connexion_bd.php.');
 
//On selectionne les données
$result = mysql_query("SELECT id,id_categorie,titre FROM CONTENU WHERE id_categorie='$id'  ORDER BY id ASC");
 
//on voit si il y a quelque chose
if(mysql_num_rows($result) == 0)
{
echo '<div class="cadre"><p>Aucun article pour le moment!</p></div>';
}
//Si la table contient des articles, on affiche les données
else {
echo '<table style="width: 100%;" cellpadding="2" cellspacing="2">  <tbody>   <tr>    <td class="hauttd">Article</td>    <td class="hauttd">Modifier</td>    <td class="hauttd">Supprimer</td>   </tr>';
 
while($affiche = mysql_fetch_array($result))
 {
  echo '<tr><td><a href="http://'.$_SERVER['HTTP_HOST'].'/page.php? id='.$affiche['id'].'">'.$affiche['titre'].'</a></td>   <td><a href="modifier-article.php?id='.$affiche['id'].'"><img src="images/modifier.png" alt="Modifier"/></a></td>   <td><a href="supprimer-article.php?id='.$affiche['id'].'"><img src="images/supprimer. png" alt="Supprimer"/></a></td></tr>';
 } 
echo '</tbody></table>';
//On ferme else
 }
?>

Quelques explications :

Nous classons (une fois de plus) nos données dans une simple <table>.
Nous avons 3 liens permettant de transmettrent un identifiant (id) à 3 futur pages qui sont :

  1. page.php (affichage publique des articles).
  2. modifier-article.php (modification des articles).
  3. supprimer-article.php (suppression des articles).
Vous avez sans doute du remarquer la variable d'environnement suivante dans le code ci-dessus ?? :
<a href="http://'.$_SERVER['HTTP_HOST'].'/page.php?id='.$affiche['id'].'
">'
.$affiche['titre'].'</a>

Cette variable "$_SERVER['HTTP_HOST']" permet d'obtenir le nom de domaine du serveur et donc d'effectuer un lien vers les pages des articles.
Une fois de plus, je vous laisse intégrer ce code dans le design ...par contre, attention au <h1>**</h1>..

Voir/déposer un commentaire (29) | Signaler un problème