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 :

Récupérer les données via une checkbox et les réaffiché.


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut Récupérer les données via une checkbox et les réaffiché.
    Bonjour à tous.
    Voici mon tableau:
    http://snakejl.free.fr/tableau.jpg
    Dans ce tableau j'ai une table qui s'appelle roulage avec la base de donnée bntoulon

    On va se consacrer sur la partie "confirmation"
    Mon but est de cocher les checkbox désirez et de les renvoyer dans un autre tableau:
    Voici le tableau:
    http://snakejl.free.fr/confirmation.jpg
    Dans ce tableau j'ai repris le même principe que le tableau principal:
    j'ai créé une autre table dans la même base de donnée qui s'apelle confirmation ou j'ai rentrée les memes champs que la table roulage.
    Ce que j'ai faisceci est le code qui me permet de me rajouter une checkbox à chaque fois que quelqu'un s'y enregistre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<td><font color='yellow'><INPUT TYPE='checkbox' value='$ligne->id' name='sel[]'</font></td></tr>";
    ensuite j'ai créé le bouton submit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    </p><input type="submit" NAME="submit" value="Envoyer" action="confirmation.php"></p>
    Par contre mon formulaire s'apelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="monform" action="effacerviacheckbox.php" method="post">
    et je suis obligé de le mettre comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="monform" action="confirmation.php" method="post">
    Dans mon fichier confirmation.php il y a sa:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?
     
    $req_insert = "INSERT INTO `confirmation` ( `id` , `grade` , `nom` ,  `prenom` , `telephone` , `motif` , `day` , `month` , `year` , `heuredebut` , `minutesdebut` , `heurefin` , `minutesfin` ) VALUES ( '', '$_POST[grade]' , '$_POST[nom]' , '$_POST[prenom]' , '$_POST[telephone]' , '$_POST[motif]' , '$_POST[day]' , '$_POST[month]' , '$_POST[year]' , '$_POST[heuredebut]' , '$_POST[minutesdebut]' , '$_POST[heurefin]' , '$_POST[minutesfin]' )";//tous les champs de ma base de donnée pour une réservation qui vont être inséré
     
    $resultat = mysql_query($req_insert) or die("Echec de l'insertion");
     
    ?>
    J'ai aussi ce code la mais il ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    <input type="checkbox" value="$nom" name="sel[]" />
     
    // et dans le traitement:
     
    $sel= $_POST['sel'];  //ou $_GET
    for ($i = 0; $i < count($sel); $i++)
                {
                  //traitement echo $sel[i]; taffichera tou le snom coché par exemple
                }
    ?>
    le problème c'est que sa me donne sa:
    http://snakejl.free.fr/confirmation1.jpg

    Voila merci de m'aider

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    rien compris ^^

    Je me permet de monter d'un niveau pour mieux comprendre ton besoin :
    Fonctionnellement, à quoi sert cette colonne confirmation ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    l'administrateur gerera le tableau principal qui lui seul a acces.
    Quand la réservation est possible il confirme en cochant les cases à cochés et le tableau sera vu par une autre personne qui surveille les réservations.
    Voilà

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Dans ton fichier confirmation.php rajoute la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump('<pre>', $_POST, '</pre>');
    Ca te permettra de voir ce qui a été soumis

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Voilà ce qu'il y a http://snakejl.free.fr/test.jpg

    Le problème que je me suis rendu compte c'est les données de la ligne que je coche va les cherché dans la table confirmation alors que la table confirmation est vide puisque tout est dans le roulage.
    Il faudrait affiché via la checkbox les ionformation du tableau de la table roulage dans un autre tableau de la meme table roulage sans la table confirmation.
    je pense que sa serait le mieux mais je prend tout conseil.
    merci

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Tu soumet une liste d'id qui ont été cochés. Donc il te suffit d'inserer dans la table confirmation les roulages? qui ont pour id ceux transmis.

    Ce qui pourrait donner (à adapter) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sel = $_POST['sel'];
    $sql = 'INSERT INTO confirmation 
      SELECT * 
      FROM roulage
      WHERE id IN ('. implode(', ', $sel) .')';
    Mais personnelement j'aurais plutot rajouté une colonne confirmation dans roulage afin de ne pas dupliquer tes données. Mais je ne connais pas plus que ça ton domaine....

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    J'essaye de faire mais je dois encore me tromper dans les syntaxe de mon code regardez:
    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
    <?php include("connect.inc") ?>
    <html>
    <head>
    <link rel="stylesheet" href="sitebn.css" type="text/css">
    </head>
    <body>
    <center>
    <?
    $sel = $_POST['sel'];
    $req_insert = "INSERT INTO `confirmation` ( `id` , `grade` , `nom` ,  `prenom` , `telephone` , `motif` , `day` , `month` , `year` , `heuredebut` , `minutesdebut` , `heurefin` , `minutesfin` ) VALUES ( '', '$_POST[grade]' , '$_POST[nom]' , '$_POST[prenom]' , '$_POST[telephone]' , '$_POST[motif]' , '$_POST[day]' , '$_POST[month]' , '$_POST[year]' , '$_POST[heuredebut]' , '$_POST[minutesdebut]' , '$_POST[heurefin]' , '$_POST[minutesfin]' )";//tous les champs de ma base de donnée pour une réservation qui vont être inséré
    SELECT * 
    FROM roulage
    WHERE id IN ('. implode(', ', $sel) .')';
    $resultat = mysql_query($req_insert) or die("Echec de l'insertion");
    ?>
    </center>
     
    </body>
    </html>
    merci de m'aider

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    J'aurai comme tu m'as dit préférer affciher certaines données de la meme table pour eviter les duplications mais je ne sais pas comment faire.
    Au contraire sa m'interresserai plus ta méthode que la mienne, si quelqu'un peut m'aider sa serai sympat.

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    tout dabor tu ne peut pas envoyer plusieur reque dans un mysql_query

    ensuite dans ton insert tu met le champ id et tu passe en valeur '' ca ser rien

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    La je suis perdu il faudrait qu'on reprenne tout si quelqu'n peut m'aiguiller.
    mais le problème c'est la syntaxe.
    Qu'est ce qu'il faut pour confirmer les information du tableau sur un autre tableau via une checkbox

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    J'ai une autre idée.
    dans mon php my admin j'ai créé dans ma table roulage un champ supplémentaire "confirmation" ou j'ai attribué la valeur "oui".
    Quand je coche le checkbox confirmation il renvoie la valeur "oui".
    Puis le deuxième tableau affichera toutes les confirmations ayant pour valeur "oui".

    merci de m'aider

  12. #12
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ben voilà tu as tout compris

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Oui mais je ne sais pas comment faire l'algo c'est facile mais la syntaxe je ne la connait pas.
    Donc si quelqu'un la connait sa serait bien.



    1.5mois de grève,pas de cour avec soit,retard considérable dans les cours.
    Normal que je galère un peu plus.

    merci de m'aider

  14. #14
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    ma table roulage un champ supplémentaire "confirmation" ou j'ai attribué la valeur "oui".
    Quand je coche le checkbox confirmation il renvoie la valeur "oui".
    Puis le deuxième tableau affichera toutes les confirmations ayant pour valeur "oui".
    Affichage du tableau de confirmation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ...
    $sql = "SELECT * FROM roulage WHERE confirmation <> 'oui' ";
    ...
    {
      ...
      echo '<ipnut type="checkbox" name="confirm[]" value="'. $id .'" />';
      ...
    }
    ...
    Reception de la requete de confirmation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
       $ids = $_POST['confirm'];
       $sql = "UPDATE roulage SET confirmation = 'oui' WHERE id IN (". implode(',', $ids) .")";
    ...
    Affichage des confirmés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    $sql = "SELECT * FROM roulage WHERE confirmation = 'oui' ";
    ...

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Rebonjour dsl pour mon absence j'ai eu des problèmes.
    j'ai regardé le code et je me demande ce que cela veut dire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE id IN (". implode(',', $ids) .")";

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Je suis arrivé à afficher c'est tout bête merci et ensuite j'ai fais des modifs et c'est bon.



    Par contre j'ai un blem:
    les id auquel ils ont pour confirmation oui s'affiche mais j'avais rajouté la valeur moi même directement dans la base de donnée.
    Moi je veux que cette valeur s'ajoute quand je coche la checkbox dans mon fichier tableau

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/01/2020, 14h21
  2. [MySQL] Récupérer les données liées à une checkbox
    Par legeek31 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/10/2014, 20h29
  3. Récupérer des données d'une page pour les récupérer sur une autre
    Par didpoy dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 17/06/2014, 16h58
  4. recuperer les données via une servlet
    Par mystro7200 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 08/01/2009, 17h56
  5. Réponses: 4
    Dernier message: 22/05/2007, 14h42

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