Rechercher : dans
Par :

Problème requete mysql

Dernière réponse le 16 nov 2008 à 11:38:24 clemh78, le 16 nov 2008 à 11:01:04 
 Signaler ce message aux modérateurs

Bonjour,
Je vais vous expliquer mon problème.
J'ai un formulaire avec le nombre de champ qu'on le souhaite mais le problème et plutôt du coter requête mysql.
J'ai cette requête:

$var = 1;
while( $var <= $num_profils){
	
		$profil= $centre_lieux_$var ;
	
 mysql_query("INSERT INTO Profils (NumProfil, Code , Affectation) VALUES ('', '$num_concours' , '$profil')");
 
 	$var ++;
}

Le problème c'est que je voudrais que cette requête ajoute à Affectation cette variable "$centre_lieux_1","$centre_lieux_2", C'est une boucle , mais le problème c'est que il insert les mots au lieux de la variable donc je me retrouve dans ma base avec "$centre_lieux_1" au lieux de sa valeur.
Si vous avez une solution ?
Merci,
Configuration: Windows XP
Firefox 3.0.4

1

C45T0R, le 16 nov 2008 à 11:07:31

Faut que t'enlèves les quotes :

$var = 1;
while( $var <= $num_profils){

$profil= $centre_lieux_$var ;

mysql_query("INSERT INTO Profils (NumProfil, Code , Affectation) VALUES ('', $num_concours , $profil)");

$var ++;
}

Répondre à C45T0R

2

toto, le 16 nov 2008 à 11:18:08

Bonjour

C45T0R -> évite ce genre de conseil, c'est complètement faux.
clemh78 -> $profil= ${centre_lieux_$var} devrait beaucoup mieux marcher

Répondre à toto

3

clemh78, le 16 nov 2008 à 11:20:37

Ça ne marche toujours pas car si tu veux mon formulaire il a plusieurs champs incrémente donc il s'appelle "$centre_lieux_1","$centre_lieux_2" et moi je veux pour les récupérer mais le problème c'est que comme il y a autan de champs que l'on veux il faut que dans mon script mysql , il prenne c'est valeur la $centre_lieux_1,$centre_lieux_2 mais comment mettre changer 1 , 2 , 3,... La est mon problème !
Je m'exprime peut être mal.
Merci comme même de ta réponse.

Répondre à clemh78

4

clemh78, le 16 nov 2008 à 11:23:43

Avec ton script j'ai une erreur pourtant tout est bon en principe "syntax error, unexpected T_VARIABLE".
Et voila mon script:

$var = 1;
while( $var <= $num_profils){

$profil = ${centre_lieux_$var};

mysql_query("INSERT INTO Profils (NumProfil, Code , Affectation) VALUES ('', '$num_concours' , '$profil')");

$var ++;
}

Répondre à clemh78

5

toto, le 16 nov 2008 à 11:26:08

Je ne comprends plus : tu parles d'abord de variables différentes $centre_lieux_1, $centre_lieux_2 etc à mettre dans un même champ Affectation, maintenant tu veux les mettre dans des champs différents ? comment s'appellent ces champs ?

Répondre à toto

6

toto, le 16 nov 2008 à 11:27:25

Oublie le message 5, il s'est croisé avec le tien

Répondre à toto

7

clemh78, le 16 nov 2008 à 11:32:11

Si tu veux j'ai un formulaire avec le nombre de champs (input) demandé après je passe à mon script php mysql pour envoyer dans une table tout c'est champs (input)

$num_profils est fait avant et représente le nombre de champ que l'utilisateur veux.

<form action="add_concours_profils_conf.php" method="post">
<?php
$var = 1;
while( $var <= $num_profils){
?>
Profil n°<?php echo $var;?>: <input type="text" name="num_profil_<?php echo $var;?>"/><br /><br />
<?php
	$var ++;
}
?>
	<br />
	Nombres de lieux d'ecrit: <input type="text" name="centre_ecrit"/><br />
	<font color="red"><strong><big>Attention:</big></strong> Centre organisateur COMPRIS !</font><br /><br />
		<input type="hidden" name="num_concours" value="<?php echo $num_concours; ?>" />	
		<input type="hidden" name="num_profils" value="<?php echo $num_profils; ?>" />
	<input type="submit" value="Envoyer" />
</form>

Puis je passe a mon script msql:
$var = 1;
while( $var <= $num_profils){

$profil = ${centre_lieux_$var};

mysql_query("INSERT INTO Profils (NumProfil, Code , Affectation) VALUES ('', '$num_concours' , '$profil')");

$var ++;
}


Et enfait si il y a deux champs la requete sera faites deux fois mais moi faut que je récupère les valeur du champ 1 et du champs 2 (s'il y a 2 champ demandé par l'utilisateur)

Répondre à clemh78

8

toto, le 16 nov 2008 à 11:32:16

Pardon
$profil = ${'centre_lieux_'.$var};

Répondre à toto

9

 clemh78, le 16 nov 2008 à 11:38:24

Merci beaucoup ça marche !

Répondre à clemh78
Collection CommentÇaMarche.net