PHP supprimer donné d'une table

Résolu/Fermé
Utilisateur anonyme - 1 mars 2009 à 15:46
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 1 mars 2009 à 16:38
Bonjour,
J'ai un petit probléme :
<?php
mysql_connect("localhost", "******", "*******");
mysql_select_db("*****");

// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM news ORDER BY ID DESC LIMIT 0,10");
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
 
<p><?php echo $donnees['id']; ?><strong><?php echo $donnees['titre']; ?></strong> <br /> <?php echo $donnees['contenu']; ?></p>

<a href="<?php mysql_query("DELETE FROM news WHERE id='$donnees['id']'"); ?>">Supprimer</a>
<?php
}
// Fin de la boucle, le script est terminé !
?>


Je voudrais que quand je clique sur supprimer la news se supprime mais sa ne marche pas, la page n'arrive même pas à s'afficher.
HELP !
A voir également:

3 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
1 mars 2009 à 16:27
Bonjour.

<a href="<?php mysql_query("DELETE FROM news WHERE id='$donnees['id']'"); ?>">Supprimer</a>

Oulala ! Après génération de la page par le serveur, l'attribut HREF est vide car tu ne fais aucun echo donc voici ce que ça donne :
<a href="">Supprimer</a>

En attendant, le code PHP a été excécuter donc même sans avoir cliqué sur le lien, la donnée a été effacée !

----------------------------------------------
Voici comment tu pourrais faire :
<a href="supprimer.php?id=<?php echo $donnees['id']; ?>">Supprimer</a>

Ce qui donnera :
<a href="supprimer.php?id=1">Supprimer</a>


Et voici le contenu de supprimer.php :
<?php
if(preg_match("#^[0-9]+$#", $_GET['id']))
{
  mysql_connect('','','');
  mysql_select_db('');
  $sql = 'DELETE FROM table WHERE id='.$_GET['id'];
  $req = mysql_query($sql);
  mysql_close();

  if($req == true) {
    echo 'Suppression réussie !';
  }
  else
  {
    echo 'Erreur lors de la suppression !';
  }
}
?>
1
Utilisateur anonyme
1 mars 2009 à 16:35
Merci, je vais essayé ce que tu ma dit !

Merci !
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
1 mars 2009 à 16:38
De rien.

J'espère que tu as bien compris ta faute car c'est essentiel dans le PHP ce genre de chose.
0