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 :

Probleme requete avec checkbox


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut Probleme requete avec checkbox
    bonsoir à tous,

    Voila mon soucis:

    J'ai un tableau en php venant d'une table sql et je voudrais faire en sorte que par un checkbox en chaque bout de ligne de ce tableau cela recopie cette ligne dans une autre table.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query ("INSERT INTO sortie (Nom, Prenom ) SELECT Nom, Prenom FROM enfants") ;

    cette requete copie toute la table et 2 fois dans ma nouvelle table.

    Je n'arrive pas à utiliser le checkbox qui suit :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="checkbox" name="choix[]" value=""></td>

    Merci pour votre aide

    Alain

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    je te renvoi au tuto du site

    http://julp.developpez.com/php/formulaires/#L4

    si ton souci viens ensuite de la création de ta requête post le code correspondant

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut
    Bonsoir à tous,
    Choix.php

    Code sql : 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
    $db = mysql_connect('localhost', 'root', '') or die('HOST ?'); 
    mysql_select_db('Adherents',$db) or die('DB ?');
     
    /*if (isset($_POST['choix'])) {
        echo "Vous avez choisi :";
        for ($i = 0, $c = count($_POST['choix']); $i < $c; $i++) {
            echo "<br/><b>" . $_POST['choix'][$i] . "</b>";
        }
    }*/
     
          mysql_query ("INSERT INTO sortie ( Nom, Prenom, Classe, Telephone, Portable_M, Portable_P, Sortie, Photos ) 
    					SELECT  Nom, Prenom, Classe, Telephone, Portable_M, Portable_P, Sortie, Photos FROM enfants") ;
     
    // mysql_query($sql) or die(mysql_error());  
     
    header ('location: tri.php');
     
    ?>

    tri.php

    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
    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
    echo '<div align="center"><p>Cochez les cases voulues puis Validez</p>';
    echo '<table border="1">'; 
    echo '<tr><td>id</td><td>Nom</td><td>Prenom</td><td>Classe</td><td>Date_naissance</td><td>Telephone</td><td>Portable_M</td><td>Portable_P</td><td>Adresse</td><td>E_mail</td><td>Sortie</td><td>Photos</td><td>Choix</td></tr>';
    while($data = mysql_fetch_assoc($req)){ 
    /*conversion de la date au format Français */ 
     
    $date=explode('-',$data['Date_naissance']); 
    $date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0]; 
    /* 
    $a = substr($data['Date_naissance'], 0, 4); 
    $m = substr($data['Date_naissance'], 5, 2); 
    $j = substr($data['Date_naissance'], 8, 2); 
    $date = $j.'-'.$m.'-'.$a; 
    */ 
    echo '<tr>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['id'].'">'.$data['id'].'</td>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['Nom'].'">'.$data['Nom'].'</td>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['Prenom'].'">'.$data['Prenom'].'</td>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['Classe'].'">'.$data['Classe'].'</td>
    	  <td>'.$date.'</td>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['Telephone'].'">'.$data['Telephone'].'</td>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['Portable_M'].'">'.$data['Portable_M'].'</td>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['Portable_P'].'">'.$data['Portable_P'].'</td>
    	  <td>'.$data['Adresse'].'</td>
    	  <td>'.$data['E_mail'].'</td>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['Sortie'].'">'.$data['Sortie'].'</td>
    	  <td><input type="checkbox" name="choix[]" value"'.$data['Photos'].'">'.$data['Photos'].'</td></tr>';
    	  /*<td><input type="checkbox" name="choix[]" value=""></td></tr>';*/
    	  /*,'.$data['Prenom'].','.$data['Classe'].','.$data['Telephone'].','.$data['Portable_M'].','.$data['Portable_P'].','.$data['Sortie'].'*/
     
    } 
     
    echo '</table>'; 
     
    echo '</div><hr>';
     
    echo '<div align="center"><a href="choix.php"><input type="submit" value="valider" name="yes"></a></div>';
     
    }else{
     
    $sql = 'SELECT * FROM enfants'; 
    $req=mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

    Voila mon souci, c'est que quand je selectionnes les checkboxs, cela me recopie toute la table venant de enfants vers sortie.
    Et non que ce que j'ai selectionné.

    Merci pour votre aide.

    Alain

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    en gros si je comprends bien tu veux insérer dans la table sorti toutes les valeurs cochés dans les checkboxs?

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut
    Bonjour
    Oui c'est ca, la meme valeur que celle dans le tableau

    Alain

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 101
    Par défaut
    J'ai fait ca en deux minutes, ca va pouvoir t'aider normalement.
    Au lieu d'un tableau j'ai préféré donner une id à chaque Checkbox, ce qui est utile ici parce que tu affiche ton formulaire via une requete sql.

    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
     
    <html>
    <body>
     
     
     
     
    <form name="test" action="" method="post"><?php
     
    $i = 1;
     
    while ($i <= 10)
    {
    	echo "<input type=\"checkbox\" name=$i value=$i />";
    	$i++;
    }
     
    if(isset($_POST['submit']))
    {
     
    	$i = 1;
     
    	while ($i <= 10)
    	{
    		if( $_POST[$i] == true)
    		{
    			echo $i;
    		}
    		$i++;
    	}
    }
     
    ?>
     
    <input type="submit" name="submit" value="envoyer" />
    </form>
     
    </body>
     
    </html>
    Ce bout de code affiche la valeur name des checkbox ayant été séléctionnées.

    Tu n'a plus qu'a jouer avec tes variables dans les while.
    While(req)...

  7. #7
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut RE
    Bonjour,

    Merci pour cette requête, mais je suis désolé je ne vois vraiment pas comment me servir de ça sans explication sur le code, je suis un novice.
    Pour tout ce qui a dans les codes avant, on m'a aidé et donné des explications.
    J'ai adapté à ma situation.

    Alain

Discussions similaires

  1. probleme requete avec variable php
    Par Burinho dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 11/08/2007, 21h53
  2. [VB.NET]Probleme datagrid avec checkbox et pagination
    Par junoreactor dans le forum ASP.NET
    Réponses: 7
    Dernier message: 14/06/2007, 23h18
  3. Probleme requete avec MINUS
    Par ChrisMan dans le forum Langage SQL
    Réponses: 5
    Dernier message: 29/05/2007, 17h27
  4. [WD9] Probleme requete avec SQLExec
    Par flecheverte dans le forum WinDev
    Réponses: 3
    Dernier message: 13/02/2007, 10h01
  5. [MySQL] probleme requete avec comparaison du temps ecoule
    Par arnogef dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/11/2006, 20h11

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