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

Langage PHP Discussion :

[Tableaux] Tableau : associer un bouton validation sur chaque ligne


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut [Tableaux] Tableau : associer un bouton validation sur chaque ligne
    Salut à tous.
    Dans une page, j'affiche dans un tableau la liste des demande d'inscription utilisateur provenant de la base de donnée.
    Et j'aimerais associer à chaque ligne du tableau un bouton de validation qui va declancher la validation de l'inscription et un bouton de suppression de ces demandes qui va declencher la suppression de la demande.
    Comment faire.

    Merci

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Avec un truc dans ce genre là il ne devrait pas y avoir de soucis, ensuite tu gères avec des cases à cocher, ou du javascript pour déterminer quel bouton tu as clické

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0; $i< tonnbd'enregistrements; $i++)
    {
       echo '<input value="'.$tavaleurquetuveux.'"' type="submit" etc etc>';
    }

  3. #3
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Le probleme semble pas etre ca je pense ...
    Associer un bouton a chaque ligne c'est facile tu rajoute la fonction dans ton fetch_array.
    Le probleme c'est que une fois qu'il aura coché oui ou non pour chaque demande, et qu'il aura cliqué en bas sur <inuput type="submit" value="Go">, il faudra une requete mysql qui insert les utilisateurs acceptés dans une table et qui refuse les autre (mail d'explication,insertion dans une table spéciale non-acceptés,...)
    C'est ca non ?

  4. #4
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Points : 287
    Points
    287
    Par défaut
    salut

    un exemple :

    dans ta boucle,
    tu generes des boutons avec un id egal à l'id de l'enregistrement et qui font appel à une fct javascript.

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    echo "<input id=".$id." value='valider' OnClick='fct_valider(this);'>";
    echo "<input id=".$id." value='supprimer' OnClick='fct_supprimer(this);'>";
    ...
    ensuite dans ta fct javascript tu recupere l'id du bouton cliqué donc l'id de l'enregistrement à valider/supprimer et apres tu peux reloader la page en passant en get par exemple index.php?action=valider&id=124

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function fct_valider(boutton)
    {
       document.location.href='index.php?action=valider&id='+boutton.id;
    }
    function fct_supprimer(boutton)
    {
       document.location.href='index.php?action=supprimer&id='+boutton.id;
    }
    apres
    en haut de ta page avant tes requetes de ton tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(!empty($_GET["action"] && $_GET["action"]=='valider' && !empty($_GET["id"]))
    {
     traitement validation
    }
    if(!empty($_GET["action"] && $_GET["action"]=='supprimer' && !empty($_GET["id"]))
    {
     traitement suppression
    }
    tu peux aussi ne faire qu'une fct en passant un parametre de plus pour l'action à effectuer...


    voila en esperant t'avoir aidé

    a+

  5. #5
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut
    Tout est possible, cependant, il y a quelque chose d'ambigu dans ton explication, et à toute fin utile :
    Est-ce que tous les utilisateurs concernés peuvent accéder à ce listing ?
    Auquel cas, libre à chacun de détruire ou de valider un enregistrement.

    Dans le cas contraire, et si tu es seul à accéder au script, pourquoi un bouton de validation d'inscription alors que ce listing est issu de ta base de données, celà ne sous-entend pas que c'est déjà fait ?

  6. #6
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Citation Envoyé par alain31tl
    Salut
    Tout est possible, cependant, il y a quelque chose d'ambigu dans ton explication, et à toute fin utile :
    Est-ce que tous les utilisateurs concernés peuvent accéder à ce listing ?
    Auquel cas, libre à chacun de détruire ou de valider un enregistrement.

    Dans le cas contraire, et si tu es seul à accéder au script, pourquoi un bouton de validation d'inscription alors que ce listing est issu de ta base de données, celà ne sous-entend pas que c'est déjà fait ?
    Alors je vais bien m'expliquer.
    Le site sera pour notre société, et comme certains contenues doivent être protégés, un formulaire d'inscription est présent sur le site pour que le client puissse s'inscrire.
    Mais on (les admins) valide seulement l'inscription qu'après verification du client, dans le cas contraire, on supprime l'inscription du client avec un mail d'esplication.
    Sinon, j'ai reussi à avoir un resultat similaire qui fonctionne très bien.
    C'etais un script sur internet que j'ai du adapter et corriger.Le voici
    Code deu formulaire html
    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
    36
    37
    38
     
    <html>
    <head>Real-world example</head>
    <body>
     <form action="processor.php" method="post">
      <!-- normally this table would come from a database --> 
      <table> 
       <tr>
        <td>&nbsp;</td>
        <td>Email address</td>
       </tr>
       <tr>
        <td><input type="checkbox" name="email[]" value="<A href="mailto:me@me.com"></td">me@me.com"></td>
        <td>me@me.com</td>
       </tr>
       <tr>
        <td><input type="checkbox"name="email[]" value="<A href="mailto:some@domain.net"></td">some@domain.net"></td>
        <td>some@domain.net</td>
       </tr>
       <tr>
        <td><input type="checkbox"name="email[]" value="<A href="mailto:dummy@jo.e.com"></td">dummy@jo.e.com"></td>
        <td>dummy@jo.e.com</td>
       </tr>
       <tr>
        <td><input type="checkbox"name="email[]" value="<A href="mailto:52b2389234hwk@bsdftywebrasl.com"></td">52b2389234hwk@bsdftywebrasl.com"></td>
        <td>52b2389234hwk@bsdftywebrasl.com</td>
       </tr>
       <tr>
        <td><input type="checkbox"name="email[]" value="<A href="mailto:valid@domain.org"></td><td>valid@domain.org</td">valid@domain.org"></td><td>valid@domain.org</td>
       </tr>
      </table>
      <!-- multiple submit buttons -->
      <input type="submit" name="submit[whitelist]"value="Add to Whitelist"> 
      <input type="submit" name="submit[blacklist]"value="Add to Blacklist"> 
      <input type="submit" name="submit[abook]"value="Delete from Address Book"> 
     </form>
    </body>
    </html>
    Et le script php qui traite la réponse
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?php
     // uncomment for debug
     // print_r($_POST);
     // check that form has been posted
     if ($_POST)
     {
      // perform input validation here
      // set server access variables
      $host = "localhost";
      $user = "joe";
      $pass = "jasdi347";
      $db = "mailservices";
      // open connection to database
      $connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
      // select database to use
      mysql_select_db($db) or die ("Unable to select database!");
      // check to see which action was selected
      // create a query for that action
      $submit_array = array_keys($_POST['submit']);
      $action = $submit_array[0];
      switch ($action)
      {
       case 'whitelist':
       // create first half of SQL query string
       $query = "INSERT INTO whitelist (email) VALUES (";
       break; 
     
       case 'blacklist':
       $query = "INSERT INTO blacklist (email) VALUES (";
       break; 
       case 'abook':
       $query = "DELETE FROM abook WHERE email = (";
       break; 
      } 
      // iterate over email array and execute query 
      // repeatedly for each element
      if (isset($_POST['email']) && is_array($_POST['email']))
      {
       foreach ($_POST['email'] as $e)
       {
        $fquery = $query . "'$e')";  
        // uncomment for debug
        // echo $fquery . "<br>";
        $result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
       } 
      }
      mysql_close($connection);
     }
    ?>
    A+

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

Discussions similaires

  1. Boutons sur chaque ligne d'un tableau.
    Par Mailgifson dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 24/06/2011, 15h55
  2. [AC-2003] bouton valider sur formulaire avec envoi email
    Par rougeda01 dans le forum IHM
    Réponses: 3
    Dernier message: 28/05/2010, 11h54
  3. Ajout d'un bouton sur chaque ligne
    Par Victor.ZENGA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2009, 10h19
  4. [Tableaux] Tableau : ajouter une key+valeur a chaque ligne
    Par Joe Le Mort dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2007, 13h08
  5. Bouton Valider sur formulaire
    Par profane dans le forum IHM
    Réponses: 6
    Dernier message: 16/02/2007, 16h59

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