Insert donné php dans table vide Sql

Miaouu
Invité n'ayant pas de compte PHPfrance

21 juin 2011, 14:47

Bonjour à vous ,
Voici mes listes de référence qui se répètent sur ma page de php : FG10 - FIG1500 - FIG1560 -LAG14 - MG80 - OPWPA6 - UPP63 - UPP90
J ai créer 8 tables vides pour chaque référence.
Je voudrais insérer des données dans une table vide en fonction de cette référence si c' est possible.

Voici mon premier code php :
// Insertion des données dans table "Produit1" si le post de $reference='FG10'

if(isset($_POST['valider']))
						{
					$reference=$_POST['reference'];
					$affichage=$_POST['affichage'];
					$client=$_POST['client'];
					$nouveau=$_POST['nouveau'];
					$etat='Vente';
					echo''.$reference.'';
					if ($reference=='FG10')
					{
		connectMaBase();

$sql = 'INSERT INTO Produit1 SET Date="'.mysql_real_escape_string($date).'", Reference="'.mysql_real_escape_string($reference).'", Produit="'.mysql_real_escape_string($affichage).'", Societe="'.mysql_real_escape_string($client).'", Quantite="'.mysql_real_escape_string($nouveau).'", Etat="'.mysql_real_escape_string($etat).'"';

mysql_query ($sql) or die('Erreur SQL ! '.$sql.'<br/>'.mysql_error());	
echo''.$sql.'';
mysql_close();
	}
		}					
					
?>			
Voici mon deuxieme code php dans la meme page :
// Insertion des données dans table "Produit2" si le post de $reference='LAG14'

if(isset($_POST['valider']))
						{
					$reference=$_POST['reference'];
					$affichage=$_POST['affichage'];
					$client=$_POST['client'];
					$nouveau=$_POST['nouveau'];
					$etat='Vente';
					echo''.$reference.'';
					if ($reference=='LAG14')
					{
		connectMaBase();

$sql = 'INSERT INTO Produit2 SET Date="'.mysql_real_escape_string($date).'", Reference="'.mysql_real_escape_string($reference).'", Produit="'.mysql_real_escape_string($affichage).'", Societe="'.mysql_real_escape_string($client).'", Quantite="'.mysql_real_escape_string($nouveau).'", Etat="'.mysql_real_escape_string($etat).'"';

mysql_query ($sql) or die('Erreur SQL ! '.$sql.'<br/>'.mysql_error());	
echo''.$sql.'';
mysql_close();
	}
		}					
					
?>			
SQL ne donne aucun erreur , Seul le premier code marche pourtant c' est la meme chose . Pouvez vous me donner un petit coup de main merci

Eléphanteau du PHP | 20 Messages

21 juin 2011, 15:48

Salut à toi mIaou,
sans prendre tout mon temps pour regarder si toutes tes liges sont bonnes, est ce normal que tu écrives ton insert comme un update ? Personellement je n'ai jamais essayé mais j'ai des doutes sur l'efficacité de ta requête Une requête INSERT s'écris de la manière suivante:
INSERT into Matable(1erchamp, 2emeChamp, 3emeChamp...) Values (1ereValeur,2emeValeur,3emeValeure...);
Essaie déjà comme ca ;)
Hail to the king!

Miaouu
Invité n'ayant pas de compte PHPfrance

21 juin 2011, 16:20

Bonjour , merci pour ta réponse , j 'ai essayé ce que tu m'as proposé mais je revient à ma meme probleme .
J'ai mis un echo $sql pour voir si ca marche et d'apres mes tests , seul le premier code marche et affiche echo $sql ,Autrement dit , seul la reference FG10 entre dans sa la table produit1 . Le deuxieme code ne marche pas pourtant c'est pareil.

Eléphanteau du PHP | 20 Messages

21 juin 2011, 16:41

Ton écriture est un peu lourde, tu écris plusieurs fois le IF isset(valider) Alors qu'une seule fois suffirais , et dans ce if tu effectues un switch avec t différents choix comme FG10. Tu serais moins perdus dans tes variables en faisant ce déja. Réctifie et tiens moi au courant ;)
Hail to the king!

Miaouu
Invité n'ayant pas de compte PHPfrance

22 juin 2011, 15:49

Voila , j'ai changé comme tu me la dit mais seul le premier switch marche , voici le code :
if(isset($_POST['valider']))
						{
					$reference=$_POST['reference'];
					$affichage=$_POST['affichage'];
					$client=$_POST['client'];
					$nouveau=$_POST['nouveau'];
					$etat='Vente';
					echo''.$reference.'';
					switch($reference){
						case 'FG10':
		connectMaBase();

$sql = 'INSERT INTO fg10 SET Date="'.mysql_real_escape_string($date).'", Reference="'.mysql_real_escape_string($reference).'", Produit="'.mysql_real_escape_string($affichage).'", Societe="'.mysql_real_escape_string($client).'", Quantite="'.mysql_real_escape_string($nouveau).'", Etat="'.mysql_real_escape_string($etat).'"';

mysql_query ($sql) or die('Erreur SQL ! '.$sql.'<br/>'.mysql_error());	
echo''.$sql.'';
mysql_close();
break;
	}
	

		//-------------------------FG1500-----------------------------------------------------------

							switch($reference){
						case 'FG1500':
					
		connectMaBase();

$sql = 'INSERT INTO fg1500 SET Date="'.mysql_real_escape_string($date).'", Reference="'.mysql_real_escape_string($reference).'", Produit="'.mysql_real_escape_string($affichage).'", Societe="'.mysql_real_escape_string($client).'", Quantite="'.mysql_real_escape_string($nouveau).'", Etat="'.mysql_real_escape_string($etat).'"';

mysql_query ($sql) or die('Erreur SQL ! '.$sql.'<br/>'.mysql_error());	
echo''.$sql.'';
mysql_close();
break;
	}
		
		}					
				
?>				

ViPHP
ViPHP | 2577 Messages

22 juin 2011, 15:55

Bonjour,

Est ce qu'il y a une erreur mysql et dans ce cas quelle erreur ?

Miaouu
Invité n'ayant pas de compte PHPfrance

23 juin 2011, 13:16

Bonjour , aucun erreur ne s ' affiche mais seul l' insertion dans la table fg10 est fonctionnel .

Mes listes de référence qui se répètent sur ma page de php : FG10 - FIG1500 - FIG1560 -LAG14 - MG80 - OPWPA6 - UPP63 - UPP90

la valeur $reference est changeant apres validation d'un autre page :

Code : Tout sélectionner

<input name="reference" type="text" value="<?php if(isset($_POST['vendre'])) { $recup1=$_POST['recup1']; echo''.$recup1.''; } ?>">
la valeur $reference s' affiche automatiquement et prend plusieurs valeur aléatoire en conséquence de l'autre page.

Apres test , seul echo''.$sql'' de la table FG10 s' affiche et non dans la table FG1500 qui n 'est pas fonctionnel.

Eléphant du PHP | 80 Messages

24 juin 2011, 10:45

		//-------------------------FG1500-----------------------------------------------------------

$sql = 'INSERT INTO fg1500 SET Date="'.mysql_real_escape_string($date).'", Reference="'.mysql_real_escape_string($reference).'", Produit="'.mysql_real_escape_string($affichage).'", Societe="'.mysql_real_escape_string($client).'", Quantite="'.mysql_real_escape_string($nouveau).'", Etat="'.mysql_real_escape_string($etat).'"';
Salut à toi mIaou,
sans prendre tout mon temps pour regarder si toutes tes liges sont bonnes, est ce normal que tu écrives ton insert comme un update ? Personellement je n'ai jamais essayé mais j'ai des doutes sur l'efficacité de ta requête Une requête INSERT s'écris de la manière suivante:
INSERT into Matable(1erchamp, 2emeChamp, 3emeChamp...) Values (1ereValeur,2emeValeur,3emeValeure...);
Essaie déjà comme ca ;)
Tu as fait la modif pour la première requête, mais pas la seconde. :wink:
En informatique, lorsqu'il y a un bug, le souci est toujours entre la chaise et le clavier.

Miaouu
Invité n'ayant pas de compte PHPfrance

24 juin 2011, 13:56

Voici les modifications mais toujours pas d'echo sql et pas d'insertion quand c'est FG1500.
		<?php 
		

		//-------------------------FG10-----------------------------------------------------------

		
		// DATE-------------INSERTION CODE DE REFERENCE ------ PRODUIT -------------- CLIENT -------- QUANTITE VENDU ----------- ETAT = VENTE 
					if(isset($_POST['valider']))
						{
					$reference=$_POST['reference'];
					$affichage=$_POST['affichage'];
					$client=$_POST['client'];
					$nouveau=$_POST['nouveau'];
					$etat='Vente';
					switch($reference){
					case'FG10':
							connectMaBase();

$sql = 'INSERT INTO fg10 (Date,Reference,Produit,Societe,Quantite,Etat) VALUES ("'.$date.'","'.$reference.'","'.$affichage.'","'.$client.'","'.$nouveau.'","'.$etat.'")';

mysql_query ($sql) or die('Erreur SQL ! '.$sql.'<br/>'.mysql_error());	
echo''.$sql.'';
mysql_close();
break;
	}
							
					
	
		//-------------------------FG1500-----------------------------------------------------------

		
		// DATE-------------INSERTION CODE DE REFERENCE ------ PRODUIT -------------- CLIENT -------- QUANTITE VENDU ----------- ETAT = VENTE 
					
					switch($reference){
					case'FG1500':
		connectMaBase();

$sql = 'INSERT INTO fg1500 (Date,Reference,Produit,Societe,Quantite,Etat) VALUES ("'.$date.'","'.$reference.'","'.$affichage.'","'.$client.'","'.$nouveau.'","'.$etat.'")';

mysql_query ($sql) or die('Erreur SQL ! '.$sql.'<br/>'.mysql_error());	
echo''.$sql.'';
mysql_close();
break;
	}
}						
					
?>