Probleme insert into

Résolu
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   -  
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je voudrais ajouter les champs recueilli dans la table articles pour les mettre dans la table supprimer
while( $mess = mysql_fetch_array($article) )
{  
        echo("<tr>
		<td align='center'>".$mess['article_id']. "</td> 
		<td align='center'>".$mess['titre']. "</td>  
		<td align='center'>".$mess['nom_categorie']. "</td>  
		<td align='center'>".$mess['pseudo'].  "</td>
		<td align='center'>".$mess['date'].  "</td>
		<td align='center'><a href='modifart.php?arteid=".$mess['article_id']."'><img src='imgs/admin/edit.png' title='Modifier article' border='0'/></a></td>
		<td align='center'><a href='regart.php?arteid=".$mess['article_id']."'><img  src='imgs/admin/copy.png' title='Voir article' border='0' /></a></td>
		<td align='center'><form method='POST' action='voirarticle.php'> <input type='radio' name='iden' id='iden' value='supprime'/> "); 
									   if(isset($_POST['enregistrer']))
									  {
                                         if(isset($_POST['iden']))
										 {
				                            $supp = "INSERT INTO supprimer (id, titre, nom_categorie, article, pseudo, date) Values Select (article_id, 'titre, 
											nom_categorie, article, pseudo, date) From articles Where article_id=".$mess['article_id'] or die(mysql_error());
											if(mysql_query($supp))
											{
											    $supprime =mysql_query("DELETE FROM articles WHERE article_id=".$mess['article_id']) or exit(mysql_error()); 
											    $informations = Array(/*Article supprime*/
										        false,
										        'Article supprimée',
										        'Votre article a été supprimée !! ',
										        '',
										        ROOTPATH.'/joseph-gaillard/voirarticle.php',
										        4
										         );
						                       require_once('includes/information.php');
					                           exit();		
				                             }
					                      }
}

Mais ça marche pas, POURQUOI ??!!
Merci d'avance !!

45 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Heu
as tu au moins essayé ce que je tavais filé ?

$supp = "INSERT INTO supprimer (id, titre, nom_categorie, article, pseudo, date) SELECT article_id, titre, nom_categorie, article, pseudo, date FROM articles WHERE article_id='".$mess['article_id']."'";
mysql_query($supp) or die(mysql_error());

sans oublier les ' autour de $mess['article_id'] sinon ca marchera pas
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
oui mais ça récupéré pas les id ça prends la dernière id !!
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ben oui ca récupère l'id correspondant à $mess['article_id'] ...
c'est le code que tavais fournit à la base, mais corrigé parce qu'il y avaient des erreurs de syntaxe
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
non justement ça ne récupère pas le bon id, ça me renvoie toujours le dernier id et pas celui choisi !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Heu
tu peux faire un echo de $supp juste avant la requete, pour voir ce que ca donne ?
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
désolé je me suis trompé ça insert tous les champs !!
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ha :)
comme quoi l'obstination finit par payer XD
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
pas vraiment car ça ne prend pas l'id voulu !!
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
ha m**** ! XD
heu ben du coup, ca te donne quoi le echo ?
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
ça me renvoie ceci
INSERT INTO supprimer (id, titre, nom_categorie, article, pseudo, date) SELECT article_id, titre, nom_categorie, article, pseudo, date FROM articles WHERE article_id= "à chaque id c'est -a- dire pour  tous les id "
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ben donc, ca vient pas de là l'erreur, mais de ta requete select du dessus !
si ton $mess['article_id'] est vide c'est pas de la faute de ton insert ^^
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
j'ai mis mon insert à la fin du while et ça renvoie le dernier id !!
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Heu
ôtes moi d'un doute ...
ton insert là, tu veux bien le faire quand l'utilisateur clique sur le bouton supprime ?

et là, ton insert, il serait dans la page où tu as ton formulaire ?
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
oui
et normalement en faisant cela ça récupère l'id que l'utilisateur veut supprimer
j'ai essayer avec le $mess['article_id'] et avec un hidden dont la valeur serait $mess['article_id'] !!
Mais c'est toujours pareil ça me renvoie le dernier id non celui qu'il a choisi !!
while( $mess = mysql_fetch_array($article) )
{  
        echo("<form method='POST' action='voirarticle.php'>
		<tr>
		<td align='center'>".$mess['article_id']. "</td> 
		<input type='hidden' name='artid' value='".$mess['article_id']."'/>
		<td align='center'>".$mess['titre']. "</td>  
		<td align='center'>".$mess['nom_categorie']. "</td>  
		<td align='center'>".$mess['pseudo'].  "</td>
		<td align='center'>".$mess['date'].  "</td>
		<td align='center'><a href='modifart.php?arteid=".$mess['article_id']."'><img src='imgs/admin/edit.png' title='Modifier article' border='0'/></a></td>
		<td align='center'><a href='regart.php?arteid=".$mess['article_id']."'><img  src='imgs/admin/copy.png' title='Voir article' border='0' /></a></td>");
		if ($profil['identifiant'] == "admin")
		{
		    echo ("<td align='center'> <input type='radio' name='iden' id='iden' value='supprime'/> "); 				   
            echo("</td>");
		}
		echo ("</tr>");
 }
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ben oui, ton insert faut pas le faire dans la page de ton formulare, mais dans la page de traitement du form
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
Oui c vrai mais comment je récupère l'id j'ai essayé avec un input hidden dans le formulaire mais ça me renvoie le dernier id !!
<input type='hidden' name='artid' value='".$mess['article_id']."'/>
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ben oui ca métonne pas, ton form est jamais fermé, du coup ben ca prend le dernier champ ...
il te faut un echo "</form>"; à la derniere ligne de ton while

enfin c'est bien sensé supprimer qu'un seul article, ou bien plusieurs ?
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
mais mon input est dans le form en haut de
<input type='submit' name='enregistrer' value='Valider'>

Et c'est un seul article qui doit être supprimer pour l'instant !!
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
heu
tu as un seul bouton input, ou c'est un par produit ?
parce que là ca risque pas de marcher vu comme c'est fait ^^
0
yoshiro Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   65
 
while( $mess = mysql_fetch_array($article) )
{  
        echo("<form method='POST' action='voirarticle.php'>
		<tr>
		<td align='center'>".$mess['article_id']. "</td> 
		<td align='center'>".$mess['titre']. "</td>  
		<td align='center'>".$mess['nom_categorie']. "</td>  
		<td align='center'>".$mess['pseudo'].  "</td>
		<td align='center'>".$mess['date'].  "</td>
		<td align='center'><a href='modifart.php?arteid=".$mess['article_id']."'><img src='imgs/admin/edit.png' title='Modifier article' border='0'/></a></td>
		<td align='center'><a href='regart.php?arteid=".$mess['article_id']."'><img  src='imgs/admin/copy.png' title='Voir article' border='0' /></a></td>
	         <td align='center'> <input type='radio' name='iden' id='iden' value='supprime'/>  				   
                 <input type='hidden' name='artid' value='".$mess['article_id']."'/> </td>
		</tr>");
 }
echo("</table>


Comme vous pouvez le voir un seul input inclue dans le while !!
0