1 pièce(s) jointe(s)
	
	
		[SQL] Affectation d'une variable dans une boucle
	
	
		Bonjour,
Je voudrais utiliser une variable créé dans ma boucle précédente pour affecter les données de ma table à de nouvelles variables.
Pièce jointe 20848
ma variable $AffectVariable est exactementce que je veux écrire à ce moment-là.
QUand je le fais à la main, en recopiant sa valeur, c'est bon, mais pas dans ma programmation. Il y a quelque chose que je n'ai pas compris.
Merci pour votre aide.:D
	 
	
	
	
		Affectation d'une variable dans une boucle
	
	
		Je joins mon code, ce sera évidemment plus parlant.
Milles excuses cadoudal56
	Code:
	
| 12
 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
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 
 | <?php 
//Affectation de la donnéee à une variable
	include ("connexion.php");
//Creation de la table
mysql_query ('CREATE TABLE `fiche` (
  `FicID` smallint(6) NOT NULL auto_increment,
  `Fic_Nom` varchar(30) collate latin1_general_ci NOT NULL,
  `Fic_Ville` varchar(30) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`FicID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1') ;
 
//-- 
//-- Contenu de la table `fiche`
//-- 
 
mysql_query ("INSERT INTO `fiche` (`FicID`, `Fic_Nom`, `Fic_Ville`) VALUES 
(1, 'DUPONT', 'PARIS'),
(2, 'FRIGIDAIRE', 'LILLE'),
(3, 'MOBYLETTE', 'ST ETIENNE'),
(4, 'POUBELLE', 'NICE')");
 
 
// Affectation des données de la fiche 2 à la variable nommée dans la boucle 
$FicID = 2;
$ma_table = 'fiche';
// 1ère boucle pour récuperer le nom des colonnes de ma table
// Recherche des colonnes de ma table
$mon_tableau = mysql_query("SHOW COLUMNS FROM ".$ma_table);
// Si des colonnes sont trouvés (ouf, je ne me suis pas trompé de table !)
	if (mysql_num_rows($mon_tableau) > 0) {
//	$NbChamps = mysql_num_rows($mon_tableau);
	   while ($row = mysql_fetch_assoc($mon_tableau)) {
// j'extraie le nom du champ
			$Champ = $row[Field];
// je les concatène pour avoir une variable unique que j'introduis dans ma boucle ci-dessous.
			$AffectVariable = $AffectVariable.'$'.$Champ.' = $donnees['.$Champ.'];';
		} 
	}
 
//2ème boucle pour affecter les valeurs de chaque champ dans une variable qui porte le même nom que le champ
//	Recherche de données pour un ID 
	$requete ='SELECT * FROM '.$ma_table.' WHERE FicID ='.$FicID;
	$retour = mysql_query($requete);
	while($donnees = mysql_fetch_array($retour))
		{
// Affectation à un nom de variable avec la valeur trouvée dans le fichier
//avec cette ligne, cela ne marche pas: où est mon erreur de syntaxe ou mon incompréhension de la programmation php ?
		echo $AffectVariable;
//avec cette ligne, bien évidemment, cela fonctionne !
//		$FicID = $donnees[FicID];$Fic_Nom = $donnees[Fic_Nom];$Fic_Ville = $donnees[Fic_Ville];
		} 
 
//Vérification
	echo '<br />Nom ='.$Fic_Nom.'<br />'; // Nom =FRIGIDAIRE
	echo 'Ville ='.$Fic_Ville; 		//Fic_Ville =LILLE
?> |