IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

comment supprimer un enregistrement a partir d'un lien [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut comment supprimer un enregistrement a partir d'un lien
    Coucou à tous!!!
    Je souhaiterai avoir des conseils concernant la démarche à avoir lorsque l'on souhaite supprimer un seul enregistrement à partir d'un lien.
    Je m'explique :
    Dans mon programme de test index.php j'ai le contenu de ma table (contenant 3 champs id,theme,titre) qui s'affiche et au niveau de chaque enregistrement j'ai le lien supprimer.
    Concrétement je souhaite que lors du clic sur le lien supprimer j'exécute le script supprimer.php mais tout cela ne fonctionne.
    D'abord mon probleme est que je ne sais pas comment faire pour appeler mon script à partir d'un lien?
    Si cela fonctionnait je pourrai savoir si mon script supprimer et correct ou non?

    voici mon script supprimer.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <head>
     
    </head>
    <body>
     
    <?php
     
     
    //if(isset($_POST['suppr']) && ($_POST['suppr'] != "1")) 
            { // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé) 
     
             $id = $_POST['id']; 
             $delete_stage = "DELETE FROM tuto WHERE id='$id'"; 
             $result = mysql_query($delete_stage, $connect) or die(mysql_error()); 
    		 }
     
     ?>
    </body>
    voici mon script index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <head>
    <title>Tableau de bord</title>
     
     
    </head>
    <body>
    <a href="index.php">Acceuil</a>
    <?php
     $serveur='localhost';
     $user='root';
     $motdepasse=''; 
     $bdd='tableaudebord';
     $connect= mysql_connect($serveur,$user,$motdepasse) or die ("Impossible de se connecter: ");
     mysql_select_db($bdd);
     
     
    $reponse = mysql_query("SELECT id,theme,titre FROM tuto")or die(mysql_error()); // Requête SQL
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>
     
    <table >
    <td width=40 height=100><?php echo $donnees['id']; ?></td><td ><?php echo $donnees['theme']; ?></td><td><?php echo $donnees['titre']; ?></td>
    <td><a href="modiftuto.php">Modifier </a> echo"<a href=\"">Supprimer</a>    
    </p>
     
    <?php
    }
    $donnees = mysql_fetch_array($reponse) or die(mysql_error());   
    echo"$reponse";             
     ?>
    </body>
    Merci d'avance pour vos conseils.

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,
    lors d'un lien pour ta page supprimer.php, ce sont des $_GET qu'il faudra utiliser dans cette page ...

  3. #3
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut
    aprés quelques recherches voila comment j'ai modifié mon script supprimer.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <head>
     
    </head>
    <body>
     
    <?php
     
    $idASupprimer = $_GET['idASupprimer'];
    mysql_query("DELETE FROM tuto WHERE id='$idASupprimer' ");
             $delete_stage = "DELETE FROM tuto WHERE id='$id'"; 
             $result = mysql_query($delete_stage, $connect) or die(mysql_error()); 
    		 }
     
     ?>
    </body>
    est ce que cela est correct?
    Sinon concernant le lien j'ai n'est toujours pas trouvé d'indice?
    Et encore merci pour tes indices fench.

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Salut. Quelque chose comme ca ? (j'ai pas testé)

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    <table>
    <?php
    $reponse = mysql_query("SELECT id,theme,titre FROM tuto")or die(mysql_error()); 
    while ($donnees = mysql_fetch_assoc($reponse)){
    $html = '';
    $html .= '<tr>';
    $html .= '<td>'.$donnees['id'].'</td>';
    $html .= '<td>'.$donnees['theme'].'</td>';
    $html .= '<td>'.$donnees['titre'].'</td>';
    $html .= '<td><a href="modiftuto.php?id='.$donnees['id'].'">Modifier</a></td>';
    $html .= '</tr>';
    echo $html;
    }
    ?>
     </table>

    et tu recupères les infos dans modiftuto.php avec GET comme te l'a dit Fench

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
     
    $id = $_GET['id'];
     
    $delete_stage = "DELETE FROM tuto WHERE id='$id'"; 
    $result = mysql_query($delete_stage, $connect) or die(mysql_error());
     
    ?>


    PS: quand tu déclare un tableau pense à mettre des tr

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Désolé, un modérateur a enlevé le lien que je t'avais fournis car celui était un lien sur un site externe à developpez (je lui donne entièrement raison d'ailleurs ) ... donc regardes sur les tuto, FAQ du forum, tu dois avoir des réponses

    Sinon pour le code, c ok madfix t'a donné une solution

    Juste une remarque sur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $delete_stage = "DELETE FROM tuto WHERE id='$id'";
    Comme c un id (numérique), tu n'as pas besoin des quotes alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $delete_stage = "DELETE FROM tuto WHERE id=".$id;

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Citation Envoyé par Fench Voir le message
    Juste une remarque sur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $delete_stage = "DELETE FROM tuto WHERE id='$id'";
    Comme c un id (numérique), tu n'as pas besoin des quotes alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $delete_stage = "DELETE FROM tuto WHERE id=".$id;
    Oups oui désolé

    Je rajouterai meme d'utiliser des simples quotes dont l'execution est plus rapide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $delete_stage = 'DELETE FROM tuto WHERE id='.$id;

  7. #7
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut
    merci pour vos conseils , voici les résultats de vos conseils :
    voici le code de mon script : indexsupprimer.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <head>
    <title>Tableau de bord</title>
    </head>
    <body>
    <a href="index.php">Acceuil</a>
    <?php
     $serveur='localhost';
     $user='root';
     $motdepasse=''; 
     $bdd='tableaudebord';
     $connect= mysql_connect($serveur,$user,$motdepasse) or die ("Impossible de se connecter: ");
     mysql_select_db($bdd);                           
    ?>
     <table>
    <?php
    $reponse = mysql_query("SELECT id,theme,titre FROM tuto")or die(mysql_error()); 
    while ($donnees = mysql_fetch_assoc($reponse)){
    $html = '';
    $html .= '<tr>';
    $html .= '<td>'.$donnees['id'].'</td>';
    $html .= '<td>'.$donnees['theme'].'</td>';
    $html .= '<td>'.$donnees['titre'].'</td>';
    $html .= '<td><a href="supprimer.php?id='.$donnees['id'].'">Supprimer</a></td>';
    $html .= '</tr>';
    echo $html;
    }
    ?>
    </table>
    </body>
    et voici le script supprimer.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <head>
    </head>
    <body>
    <?php
     $serveur='localhost';
     $user='root';
     $motdepasse=''; 
     $bdd='tableaudebord';
     $connect= mysql_connect($serveur,$user,$motdepasse) or die ("Impossible de se connecter: "); 
     mysql_select_db($bdd);
     $retournbtutos = mysql_query("SELECT COUNT(*) AS id FROM tuto");
     $donneesnbtutos = mysql_fetch_array($retournbtutos);
     
    $id = $_GET['id'];
    $delete_stage = 'DELETE FROM tuto WHERE id='.$id; 
    $result = mysql_query($delete_stage, $connect) or die(mysql_error());
    ?>
    </body>
    tout fonctionne
    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Comment supprimer un enregistrement?
    Par FraktaL dans le forum Accès aux données
    Réponses: 3
    Dernier message: 23/08/2006, 01h19
  2. [C#] Comment supprimer un enregistrement de la table ?
    Par paradeofphp dans le forum Accès aux données
    Réponses: 12
    Dernier message: 03/08/2006, 09h59
  3. Réponses: 1
    Dernier message: 28/01/2006, 12h36
  4. supprimer un enregistrement a partir d'une requete
    Par tooneygirl dans le forum Access
    Réponses: 3
    Dernier message: 20/06/2005, 15h26
  5. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo