Deplacer enregistrement table1 vers table 3
Alyson_dev
Messages postés
1
Statut
Membre
-
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Deplacer enregistrement table1 vers table 2
Alyson_dev - 20 déc. 2012 à 12:23
Suivre - Modifier
Bonjour tout le monde ,
Voila déjà 5 jours que je cherche une solution a mon problème toujours pas de solution (:-(
je souhaiterais envoyer, après sélection de checkbox de mon choix , les enregistrements dans une autre table avec les memes champs et faire un ->
En gros j'ai dans ma page des checkbox qui récupèrent dans value les id des enregistrement ->
en cliquant sur envoyer j'attérie dans la page RESULTAT.PHP
MAIS IL SE SE PASSE RIEN , auriez vous une idée s'il vous plait ne suis vraiment bloquée la
//PAGE INDEX
//PAGE RESULTAT.PHP
en fait il ne se passe rien et je ne comprend pas pourquoi,
Merci d'avance de votre aide je suis un peu désespérée la (:-)
Deplacer enregistrement table1 vers table 2
Alyson_dev - 20 déc. 2012 à 12:23
Suivre - Modifier
Bonjour tout le monde ,
Voila déjà 5 jours que je cherche une solution a mon problème toujours pas de solution (:-(
je souhaiterais envoyer, après sélection de checkbox de mon choix , les enregistrements dans une autre table avec les memes champs et faire un ->
INSERT INTO table_2 SELECT * FROM table_1 WHERE id IN('.implode(',',$_POST['msg']).')');
En gros j'ai dans ma page des checkbox qui récupèrent dans value les id des enregistrement ->
<input name="msg[]" class="checkbox" type="checkbox" id="msg[]" value="'.$result['id'].'">
en cliquant sur envoyer j'attérie dans la page RESULTAT.PHP
print_r ($_POST['msg']); // il m'affiche bien avec les id -> Array ( [0] => 162 [1] => 163 [2] => 164 ) if(isset($_POST['msg'])) { foreach($_POST['msg'] as $msg) { $sql='INSERT INTO table_2 SELECT * FROM tb_gestion WHERE id IN('.implode(',',$_POST['msg']).')'; } }
MAIS IL SE SE PASSE RIEN , auriez vous une idée s'il vous plait ne suis vraiment bloquée la
//PAGE INDEX
<form id="RESULTAT" name="RESULTAT" method="post" action="RESULTAT.php"> <? $sql = 'SELECT * FROM table1 WHERE utilisateur="'.$_SESSION['login'].'" ' ; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); echo'<table width="95%" border="0" align="center" class="Ltableau" id="example" cellspacing="1" cellpadding="1"> <thead><br> <tr> <th width="5%" class="Htab">Date></th> <th width="7%" class="Htab">Priorité</th> <th width="5%" align="center" bgcolor="#E70010">transferer</th> <th>S</th> </tr></thead>'; echo"<tbody>"; while($result = mysql_fetch_assoc($req)) { echo "<tr>"; echo "<td bgcolor='#CCCCCC' width='5%'>".$result['date']; echo"</td>"; echo "<td class='".$color."' width='7%' align='center'>".$result['priorite']; echo '<td width="1%"><input name="msg[]" class="checkbox" type="checkbox" id="msg[]" value="'.$result['id'].'"></td>'; } echo "</td></tbody></table>"; echo" <input class='Submit' type='submit' name='Submit' value='transferer'>"; ?>
//PAGE RESULTAT.PHP
print_r ($_POST['msg']); // il m'affiche bien avec les id -> Array ( [0] => 162 [1] => 163 [2] => 164 ) if(isset($_POST['msg'])) { foreach($_POST['msg'] as $msg) { $sql='INSERT INTO table_2 SELECT * FROM tb_gestion WHERE id IN('.implode(',',$_POST['msg']).')'; } }
en fait il ne se passe rien et je ne comprend pas pourquoi,
Merci d'avance de votre aide je suis un peu désespérée la (:-)
A voir également:
- Deplacer enregistrement table1 vers table 3
- Table ascii - Guide
- Déplacer colonne excel - Guide
- Table des matières word - Guide
- Ai suite 3 - Télécharger - Optimisation
- Picasa 3 - Télécharger - Albums photo
1 réponse
foreach($_POST['msg'] as $msg){
$sql='INSERT INTO table_2 SELECT * FROM tb_gestion WHERE id IN('.implode(',',$_POST['msg']).')';
}
Tu utilise deux système à la fois, là non ?
Soit tu fais une boucle où tu indique :
Soit tu ne fait pas de boucle et tu passe par l'implode
Par contre, essaye de mettre le nom des champs dans le select et insert, peut être que tes tables sont légèrement différente.
Si jamais ça ne fonctionne toujours pas, fait un
$sql='INSERT INTO table_2 SELECT * FROM tb_gestion WHERE id IN('.implode(',',$_POST['msg']).')';
}
Tu utilise deux système à la fois, là non ?
Soit tu fais une boucle où tu indique :
foreach($_POST['msg'] as $msg){ $sql='INSERT INTO table_2 SELECT * FROM tb_gestion WHERE id='.$msg; }
Soit tu ne fait pas de boucle et tu passe par l'implode
$sql='INSERT INTO table_2 SELECT * FROM tb_gestion WHERE id IN('.implode(',',$_POST['msg']).')';
Par contre, essaye de mettre le nom des champs dans le select et insert, peut être que tes tables sont légèrement différente.
insert into (champ1, champ2) select champ1,champ2 from ...
Si jamais ça ne fonctionne toujours pas, fait un
echo $sql;juste après ta requête et copie-colle là sur ton interface de phpmyadmin, il te donnera un message d'erreur utile :)