Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/04/2011, 22h48   #1
Invité de passage
 
Homme alain gaillard
Technicien maintenance
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme alain gaillard
Localisation : France

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

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 3
Points : 3
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 :
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 :
<td><input type="checkbox" name="choix[]" value=""></td>

Merci pour votre aide

Alain
casper77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 09h28   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
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
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 19h19   #3
Invité de passage
 
Homme alain gaillard
Technicien maintenance
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme alain gaillard
Localisation : France

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

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 3
Points : 3
Bonsoir à tous,
Choix.php

Code sql :
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 :
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
casper77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 09h19   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
en gros si je comprends bien tu veux insérer dans la table sorti toutes les valeurs cochés dans les checkboxs?
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 15h33   #5
Invité de passage
 
Homme alain gaillard
Technicien maintenance
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme alain gaillard
Localisation : France

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

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 3
Points : 3
Bonjour
Oui c'est ca, la meme valeur que celle dans le tableau

Alain
casper77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 12h23   #6
Invité de passage
 
Homme Vincent
Inscription : avril 2011
Messages : 17
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : Belgique

Informations forums :
Inscription : avril 2011
Messages : 17
Points : 3
Points : 3
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 :
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)...
vbaguet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 14h26   #7
Invité de passage
 
Homme alain gaillard
Technicien maintenance
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme alain gaillard
Localisation : France

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

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 3
Points : 3
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
casper77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h59.


 
 
 
 
Partenaires

Hébergement Web