Forum Clubic

INSERT et UPDATE de variable dynamique prob de syntaxe

Bonjour,

Je dois reprendre une page déjà existante que je n’est pas programmé.

Je veux enregistrer des variables dynamique dans ma base de donnée

Les requetes sont déjà créer mais je dois rajouter 2 nouveaux champs.

Champs Ind_Remarque (VARCHAR(50))------>$t_cv_data[‘text_remarque’]
Champs Ind_Evaluation (VARCHAR(50))----->$t_cv_data[‘text_evaluation’]

En fait je comprends pas la bon syntaxe, pour me permettre de rajouter mon code.

Je me perds entre les ’ et " ou . sans oublier les ,.

Je voudrais connaitre comment écrire correctement :

$sql_Ind = “INSERT INTO tb_indep (”.$Champs_Ind." ) VALUES ???

."'".date("y/m/d")    ."',  " // Date de mise a jour  
."'".$var_cv['text_remarque']  ."',  " // Remarque
."'".$var_cv['text_evalutation']  ."'" // Evalutaion 

pour l’insert, et:

."Ind_MAJ = '"   .date("y/m/d")    ."',  ". // Mot de PASS 
."Ind_Remarque = '"   .$var_cv['text_remarque']  ."',  " // Remarque
."Ind_Evaluation = '"   .$var_cv['text_evalutation']  ."' " // Evalutation 

pour l’update

Merci pour ta réponse, je suis en train de tester mais je pense que tu as du oublier d’effacer un point ?

Je me retrouve avec une erreur à la ligne du " WHERE Ind_Id = " . $Session_Id;

voila l’erreur :

la $Session_Id est utilisé dans une fonction

[cpp]
function INSERT_INDEP($var_cv,$Session_choix,$Session_Id)
{
if ($Session_choix == “1”)
// Création du numero de ref de l’indep
$Ref_Ind = ID_INDEP($var_cv);
else
{ // récup de la Ref déja existante
$sql_Id_Ind = “SELECT * FROM tb_indep WHERE Ind_Id = '”.$Session_Id."’";

	$Result = mysql_query($sql_Id_Ind);
	$Enr = mysql_fetch_array($Result);
	$Ref_Ind = trim(nl2br($Enr["Ind_Ref"]));
}

[/cpp]

a mon avis ton problème vient de la :
$Ref_Ind = ID_INDEP($var_cv);

ID_INDEP c’est une constance ?

ID_INDEP n’est pas une constate, la valeur peut changer selon les modifications fait par l’utilisateur.

Si ca n’est pas une constante, ou est le $ de la variable ?!

edit: non rien lol

c plutot une fonction, non ?

[cpp]
.“Ind_MAJ = '” .date(“y/m/d”) ."’, " // date de mise à jour
.“Ind_Remarque = '” .$var_cv[‘text_remarque’] ."’, " // Remarque
.“Ind_Evaluation = '” .$var_cv[‘text_evaluation’]."’ ". // Evalutation
" WHERE Ind_Id = " . $Session_Id;
}
[/cpp]

je viens de trouver il manquait un . avant " WHERE Ind_Id = " . $Session_Id;

Par contre ca marche bien sous le navigateur mozilla mais sous IE6 il arrive 8 fois sur 10 que j’ai page d’erreur genre HTTP 500

Bizarre les noms de fonctions en majuscule

Maintenat je veux faire la meme chose qu’avant sauf que mes variables dynamiques proviennent de cases à cocher.

Voici les champs à rajouter :
CV_Recep_Offre (TINYINT(1)) ------> $t_cv_data[‘checkbox_recep_offre’]
CV_Trans_Info (TINYINT(1)) ------> $t_cv_data[‘checkbox_trans_info’]
CV_Trans_Mail (TINYINT(1)) ------> $t_cv_data[‘checkbox_trans_mail’]

[cpp]
if ($Session_choix == “1”)
{
// Création et Exécution de la requète d’enregistrement du CV l’indep
$Champs_CV = “Ind_Id, CV_Nom_Sct, CV_Type_Sct, CV_SIRET, CV_Dispo, CV_Date_Dispo, CV_Mobilite, CV_Statut, CV_TypeOffre, CV_Prix, CV_Titre, CV_Niv_Etude, CV_Annee_Exp, CV_Comp, CV_EL, CV_Recep_Offre, CV_Trans_Info, CV_Trans_Mail”;
$sql_CV = “INSERT INTO tb_cv (”.$Champs_CV.") VALUES (" .$var_Ind_Id .", " // Id de l’indep
."’".$var_cv[‘text_NomSociete’] ."’, " // Nom de la societe
."’".$var_cv[‘select_TypeSct’] ."’, " // Type de societe
."’".$var_cv[‘text_SIRET’] ."’, " // numero de SIRET
."’".$var_cv[‘select_Dispo’] ."’, " // Type de dipo
."’".$var_cv[‘text_DateDispo’] ."’, " // Date de dipo
."’".$var_cv[‘select_Mobilite’] ."’, " // Mobilite
."’".$var_cv[‘select_Statut’] ."’, " // Statut
."’".$var_cv[‘select_TypeOffre’] ."’, " // Type d’offre recherchés
."’".$var_cv[‘text_Prix’] ."’, " // Prix
."’".$var_cv[‘text_Titre’] ."’, " // Titre
."’".$var_cv[‘select_NivEtude’] ."’, " // niveau d’étude
."’".$var_cv[‘select_AnneeExp’] ."’, " // Années d’expérience
."’".$var_cv[‘text_Comp’] ."’, " // Compétences
.“1” //CV en ligne
///////Variable à rajouter/////////
.")";
}
else
{
// mise a jour de la base avec les nouvelles données
$sql_CV = “UPDATE tb_cv SET " .“CV_Nom_Sct = '” .$var_cv[‘text_NomSociete’] .”’, " // Nom de la societe
.“CV_Type_Sct = '” .$var_cv[‘select_TypeSct’] ."’, " // Type de societ
.“CV_SIRET = '” .$var_cv[‘text_SIRET’] ."’, " // numero de SIRET
.“CV_Dispo = '” .$var_cv[‘select_Dispo’] ."’, " // Type de dipo
.“CV_Date_Dispo = '”.$var_cv[‘text_Ville’] ."’, " // Ville
.“CV_Mobilite = '” .$var_cv[‘select_Mobilite’] ."’, " // Mobilite
.“CV_Statut = '” .$var_cv[‘select_Statut’] ."’, " // Statut
.“CV_TypeOffre = '” .$var_cv[‘select_TypeOffre’] ."’, " // Type d’offre recherchés
.“CV_Prix = '” .$var_cv[‘text_Prix’] ."’, " // Prix
.“CV_Titre = '” .$var_cv[‘text_Titre’] ."’, " // Titre
.“CV_Niv_Etude = '” .$var_cv[‘select_NivEtude’] ."’, " // niveau d’étude
.“CV_Annee_Exp = '” .$var_cv[‘select_AnneeExp’] ."’, " // Années d’expérience
.“CV_Comp = '” .$var_cv[‘text_Comp’] ."’ " // Compétences
///////Variable à rajouter/////////
." WHERE Ind_Id = " . $Session_Id;

}

[/cpp]

Car je comprends pas comment je peux enregistrer un 0 ou 1 dans la table tb_cv

Je fais la modif en me calquant sur les script plus haut mais le problème c’est que ca mets que un 0 dans mon champs quelque soit l’état de la case a cocher

pour exemple voici un exemple de case a cocher

essaye ça :

" . (empty($t_cv_data[‘checkbox_recep_offre’])?0:1). "

(je corrigerai pas ta trop longue requête…)

ok merci je vais tester desuite

Ce que tu m’a écrit c’est bon pour le INSERT INTO mais pour le UPDATE ?

c bon j’ai trouver comment faire pour le INSERT grace à ta ligne

.($var_cv[‘checkbox_recep_offre’]?1:0).

Mais pour le UPDATE j’ai toujours 1

quelqu’un aurait une autre solution ???