PHP supprimer donné d'une table

Résolu
Utilisateur anonyme -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
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 !
Configuration: Windows XP
Firefox 3.0.6

3 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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
  2. Utilisateur anonyme
     
    Merci, je vais essayé ce que tu ma dit !

    Merci !
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    De rien.

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