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 :

recuperer table sql et supprimer une ligne


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut recuperer table sql et supprimer une ligne
    Bonjour,
    je récupère une table sql mise en page dans un tableau avec ce code

    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
    <table align="center">
     
       <th>
       <form method="post" action="../include/del_operateur.php">
       <legend>Supprimer cet operateur</legend>
           <?php    
        // on affiche les informations de l'enregistrement en cours
       echo '<br/><span style="color:#FFF;"> Nom : </span>'.$data['nom'].'<br/><span style="color:#FFF;">prenom : </span>'.$data['prenom'].'<br/><span style="color:#FFF;"> Mot de passe : </span>'.$data['password'].''; ?> 
          <br/>
       <br />
       <input type="hidden" name="nom" value==".$data['nom']." />
    <input type="image" src="../img/del.png" alt="supprimer" name="del_img" id="del_img" />
    </form>
       </th>
     </tr>
    </table>
    je souhaiterais ensuite pouvoir supprimer n'importe quels utilisateurs en me servant du formulaire retourner dans le tableau donc pour ça j'appelle la page "../include/del_operateur.php" l'orsque je clique sur l'image del.png
    je suis bien rediriger sur cette page mais elle reste blanche et je ne parvient pas à supprimer l'utilisateur selectionné .
    La page del_operateur.php et sous cette forme

    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
     <?php
        // Afficher les erreurs à l'écran
        ini_set('display_errors', 1);
        // Enregistrer les erreurs dans un fichier de log
        ini_set('log_errors', 1);
        // Nom du fichier qui enregistre les logs (attention aux droits à l'écriture)
        ini_set('error_log', dirname(__file__) . '/log_error_php.txt');
        // Afficher les erreurs et les avertissements
        error_reporting(E_ALL);
        ?>
    <?php 
    $db = mysqli_connect('localhost', 'admin', 'password', 'nombdd')  or die('Erreur de connexion '.mysqli_error());
     
    if(isset($_POST['del_img'])) {
       $nom = $_POST['nom'];
       if( !empty($nom) ) {
          $sql = "DELETE FROM `membres` WHERE `nom` LIKE '".$nom."'";
          $res = mysqli_query($db,$sql) or die('Erreur de connexion '.mysqli_error());
          if(!$res) die ("Impossible de supprimer");
     
       }
    }
    mysqli_close ($db)
    ?>
    en vous remerciant pour votre aide
    ps : je me suis servi d'un exemple sur le forum https://www.developpez.net/forums/d5...r-base-donnee/

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Déjà, si tu veux supprimer un utilisateur particulier il faut mettre = au lieu de LIKE. Avec LIKE tu risques de supprimer tous les utilisateurs dont le nom ressemblera au nom que tu veux supprimer.

    as-tu essayé de mettre un print "coucou"; pour voir si ta page est bien appelée ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Bonjour badaze,
    alors pour le like je vien de changer par =, merci pour l'info
    ensuite le print "coucou"; retourne bien le coucou sur ma page del_operateur.php

  4. #4
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Essaie print mysqli_affected_rows($db); print "<br/>$sql<br/>"; après mysqli_query.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Le code ne retourne rien.

  6. #6
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Est-ce que tu as un message d'erreur ?
    Mets un var_dump($_POST); avant if (isset(...

    Au fait, la fonction mysqli_error doit avoir un paramètre => mysqli_error($db )
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    ha du nouveau ^^ le var_dump
    me retourne un truc bizarre on dirais des coordonnées ?
    mais toujours pas de nom.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(3) { ["nom"]=> string(17) "=".$data['nom']."" ["del_img_x"]=> string(2) "21" ["del_img_y"]=> string(2) "17" }
    j'ai modifier le input hiden en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="nom" value=="<?php echo $data['nom']; ?>" />
    et maintenant j'ai le nom. mais toujours pas de suppression de ligne dans la bdd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(3) { ["nom"]=> string(8) "="admin"" ["del_img_x"]=> string(2) "12" ["del_img_y"]=> string(2) "20" }

  8. #8
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Dans "nom" tu as ="admin" alors que tu devrais avoir admin.

    Il faut voir le code source html du formulaire.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    le voici il est complet avec en 1 er le code qui recupere les infos bdd
    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
    33
    34
    35
     <?php
     
    	$db = mysqli_connect('localhost', 'admin', 'passwor', 'namebdd')  or die('Erreur de connexion '.mysql_error($bd));
     
    	$sql = 'SELECT nom,password,prenom FROM membres';
     
    // on envoie la requête
    $req = mysqli_query($db,$sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error($bd,$sql));
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysqli_fetch_assoc($req))
        {
    		?>
         <table align="center">
     
       <th>
       <form method="post" action="../include/del_operateurs.php">
       <legend>Supprimer cet operateur</legend>
           <?php    
        // on affiche les informations de l'enregistrement en cours
       echo '<br/><span style="color:#FFF;"> Nom : </span>'.$data['nom'].'<br/><span style="color:#FFF;">prenom : </span>'.$data['prenom'].'<br/><span style="color:#FFF;"> Mot de passe : </span>'.$data['password'].''; 
    ?> 
          <br/>
       <br />
       <input type="hidden" name="nom" value=="<?php echo $data['nom']; ?>" />
    <input type="image" src="../img/del.png" alt="supprimer" name="del_img" id="del_img" />
    </form>
       </th>
     </tr>
    </table>
        <?php
           }
     mysqli_close($db)
     
    ?>
    et merci a toi pour le temps que tu consacres à mon soucis

    Oups je viens de trouver l'erreur en relisant le code sur le forum j'ai corriger le "=" de trops et maintenant j'ai bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(3) { ["nom"]=> string(5) "admin" ["del_img_x"]=> string(2) "20" ["del_img_y"]=> string(2) "20" }
    Est ce que si je faisias un type submit simple avec value supprimer ce serais plus simple?
    parce que la j'avoue ne pas trop comprendre tout ça.
    pourquoi j'ai des positions X,Y ?

  10. #10
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,
    L25 il y a un double == , sinon pourquoi ne pas travailler avec l'id de la table.
    Est-ce que le nom de l'opérateur est unique ?

    EDIT: Le == a été corrigé
    Le bienfait n'est jamais perdu

  11. #11
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    bonsoir willy_k
    la table ne possede pas d'id unique et oui le nom est lui unique .
    j'ai editer mon precedent poste ^^

  12. #12
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    2 opérateurs ayant le même nom ne peuvent pas être enregistrés ? Parce qu'on parle bien du nom, n'est-ce pas ?

    Sinon le problème de suppression est-il résolu ? Votre requête posera soucis si le nom contient une apostrophe, faudrait utiliser mysqli_real_escape_string ou préparer la requête.
    Le bienfait n'est jamais perdu

  13. #13
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    @civodul88

    Oui il faut un bouton submit. Je me demande comment ça peut fonctionner sans d'autant plus qu'il n'y a pas de JavaScript.
    Comme tu as un formulaire tous les input sont des champs du formulaire c'est pour ça que les "coordonnées" sont transmises.

    PS: ça ne sert à rien de visualiser le mot de passe.... qui ne doit jamais être stocké en clair.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  14. #14
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    2 opérateurs ayant le même nom ne peuvent pas être enregistrés ? Parce qu'on parle bien du nom, n'est-ce pas ?

    Sinon le problème de suppression est-il résolu ? Votre requête posera soucis si le nom contient une apostrophe, faudrait utiliser mysqli_real_escape_string ou préparer la requête.
    oui c'est bien du nom reel que l'on parle impossible d'avoir le meme nom deux fois.

    mon probleme de supression subsiste toujours je n'ai pas trouver de solution pour l'instant, est ce que si je faisais un submit simple avec la value supprimer à la place de l'image ce serais plus simple ?

  15. #15
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    @Badaze https://developer.mozilla.org/fr/doc...nt/Input/image, mais plutôt isset($_POST['del_img_x']) ou un type submit
    Le bienfait n'est jamais perdu

  16. #16
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    @Willy_k
    Merci. Cette journée aura donc été utile puisque je me coucherai moins bête !!!
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  17. #17
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par badaze Voir le message
    @civodul88

    Oui il faut un bouton submit. Je me demande comment ça peut fonctionner sans d'autant plus qu'il n'y a pas de JavaScript.
    Comme tu as un formulaire tous les input sont des champs du formulaire c'est pour ça que les "coordonnées" sont transmises.

    PS: ça ne sert à rien de visualiser le mot de passe.... qui ne doit jamais être stocké en clair.
    je teste demain avec un submit value envoyer.
    pour le mot de passe c'est en fait une page dans un panneau d'administration le responsable enregistre dans la bdd un nom un prenom reel et un password aleatoire je veux que le password soit visible au cas ou l'operateur le perd pour que le responsable le retrouve sans avoir recours à fouiner dans la bdd

  18. #18
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    @Badaze https://developer.mozilla.org/fr/doc...nt/Input/image, mais plutôt isset($_POST['del_img_x']) ou un type submit
    merveilleux je vous remercie à tout les deux bonne soirée

  19. #19
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Citation Envoyé par civodul88 Voir le message
    je teste demain avec un submit value envoyer.
    pour le mot de passe c'est en fait une page dans un panneau d'administration le responsable enregistre dans la bdd un nom un prenom reel et un password aleatoire je veux que le password soit visible au cas ou l'operateur le perd pour que le responsable le retrouve sans avoir recours à fouiner dans la bdd
    Un mot de passe doit toujours être crypté et ne doit être connu de personne même de l'administrateur. C'est une donnée privée. Imagine la personne qui utilise le même mot de passe de partout (il y en a) il suffirait d'interroger la bdd pour le connaître. Ce n'est pas sérieux.
    Si une personne perd son mot de passe il faut faire comme c'est fait sur tous les sites. Je dis ça je dis rien.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  20. #20
    Futur Membre du Club
    Homme Profil pro
    debutant webmaster
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : debutant webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par badaze Voir le message
    Un mot de passe doit toujours être crypté et ne doit être connu de personne même de l'administrateur. C'est une donnée privée. Imagine la personne qui utilise le même mot de passe de partout (il y en a) il suffirait d'interroger la bdd pour le connaître. Ce n'est pas sérieux.
    Si une personne perd son mot de passe il faut faire comme c'est fait sur tous les sites. Je dis ça je dis rien.
    c'est une application d'entreprise en local c'est le responsable de production qui attribue le mot de passe de l'operateur^^ si c'etais pour un site j'aurais chercher un truc pour le reinitialiser on est d'accord encore merci a vous^^

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

Discussions similaires

  1. [C#]supprimer une ligne dans une table
    Par elitol dans le forum Windows Forms
    Réponses: 6
    Dernier message: 27/06/2006, 15h50
  2. Réponses: 3
    Dernier message: 20/05/2006, 23h28
  3. Réponses: 3
    Dernier message: 14/03/2006, 11h34
  4. [Sql] supprimer une ligne d'une vue
    Par ciol2.6.12 dans le forum Oracle
    Réponses: 1
    Dernier message: 08/03/2006, 15h48
  5. Instruction SQL qui supprime une colonne d'une table
    Par tseg dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/10/2003, 20h47

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