Données MySQL et php

Fermé
BoyDkr81 Messages postés 32 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 août 2008 - 7 août 2008 à 13:41
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 7 août 2008 à 16:46
Bonjour,

J'ai un tableau multidimensionnel qui m'affiche les salariés d'une entreprise ainsi que leurs informations personnels Nom,Prénom,Adresse,Téléphone etc... dans un script affichage_salarie.php.
Pour cela j'ai une boucle FOR qui parcours ma table "salarie" dans ma BDD MySQL de type:
for ($Compteur = 0 ; $Compteur < $NombreEnregistrement ; $Compteur ++)
{
affichage des infos dans le tableau
}

$NombreEnregistrement récupère le résultat de ma requête SQL.
J'ai un bouton modifier pour chaque salarié:
echo "<TD>";
echo "<a href=http://127.0.0.1/ASM/modification_salarie.php?ID_Salarie=".$ID_Salarie.">";
echo "<CENTER><IMG SRC='http://127.0.0.1/ASM/modifier.png' title='modifier'></CENTER></a>";
echo "</TD>";

et lorsque l'on clique dessus il récupère l'ID du salarié en question et affiche le formulaire avec toutes les informations du salarié que l'on peut modifier en cas de changement comme l'adresse(modification_salarie.php).
Si je modifie l'adresse et clique sur le bouton "valider" de type submit(présent dans un form de type POST) il me renvoi sur une autre page envoi_modification_salarie.php qui contient les requêtes SQL de modification dont voici le code:
//ceci est pour moi pour voir le contenu de la variable et m'affiche correctement les informations même après changement
echo "Contenu de $_POST[ID_Salarie]<br />";
echo "<pre>";
var_dump($_POST);
echo "</pre>";

if (isset($_POST["ID_Salarie"]))
{
$ID_Salarie = $_POST["ID_Salarie"];

mysql_connect("localhost","root") or die ("Impossible de se connecter à la base de données.");
mysql_select_db("asm") or die("Impossible de se connecter à la base de données.");
$resultat1 = mysql_query("UPDATE salarie SET Civilite_Salarie='".$Civilite_Salarie."' Nom_Salarie='".$Nom_Salarie."' Nom_JeuneFille_Salarie='".$Nom_JeuneFille_Salarie."' Prenom_Salarie='".$Prenom_Salarie."' Date_Naissance_Salarie='".$Date_Naissance_Salarie."' Pays_Naissance_Salarie='".$Pays_Naissance_Salarie."' Ville_Naissance_Salarie='".$Ville_Naissance_Salarie."' Nationalite_Salarie='".$Nationalite_Salarie."' Num_Secu_Salarie='".$Num_Secu_Salarie."' Nombre_Enfant_Salarie='".$Nombre_Enfant_Salarie."' Adresse_Salarie='".$Adresse_Salarie."' Ville_Salarie='".$Ville_Salarie."' Code_Postal_Salarie='".$Code_Postal_Salarie."' Telephone_Fixe_Salarie='".$Telephone_Fixe_Salarie."' Telephone_Portable_Salarie='".$Telephone_Portable_Salarie."' Date_Entree_Salarie='".$Date_Entree_Salarie."' Date_Sortie_Salarie='".$Date_Sortie_Salarie."'
WHERE ID_Salarie = '".$ID_Salarie."';");

Mon soucis est que ma requête ne fonctionne pas il ne se passe rien dans ma table et le navigateur m'affiche "undefined index ID_Salarie celui de la 1ere ligne(echo "Contenu de $_POST[ID_Salarie]<br />";)

Je ne trouve pas d'où vient le problème et vous remercie d'avance pour votre aide.
A voir également:

6 réponses

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 385
7 août 2008 à 13:53
Bonjour,

Tu dois peut-être changer ton écho avec le code suivant
echo "Contenu de ID_Salarie<br />";
et aussi dans ton ordre UPDATE, tu dois rajouter une virgule entre chaque champs que tu veux mettre à jour
UPDATE salarie SET Civilite_Salarie='".$Civilite_Salarie."' , Nom_Salarie='".$Nom_Salarie."' , Nom_JeuneFille_Salarie='".$Nom_JeuneFille_Salarie."' 
etc...

A plus
0
BoyDkr81 Messages postés 32 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 août 2008
7 août 2008 à 14:00
Merci pour ta réponse, mais cela ne résout pas entièrement mon problème car en fait il ne reconnait pas ID_Salarie qui est censé provenir de la page modification_salarie.php dans $_POST alors que pourtant si j'affiche $_POST toutes les informations sont corrects et présentes hormis l'ID_Salarie qui ne s'affiche pas.
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 385
7 août 2008 à 14:19
Bonjour,

Ok, j'avais pas bien lu tout ton code HTML, en effet pour récupérer un paramètre passé par href, tu dois faire un $_GET dans ta page
$ID_Salarie = $_GET["ID_SALARIE"];


A plus
0
BoyDkr81 Messages postés 32 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 août 2008
7 août 2008 à 15:23
Ce n'est pas encore ça je ne passe pas par href relis bien j'ai 3 fichiers php.
le premier affichage_salarie.php qui m'affiche les salariés avec possibilté de les modifier avec la un href
echo "<TD>";
echo "<a href=http://127.0.0.1/ASM/modification_salarie.php?ID_Salarie=".$ID_Salarie.">";
echo "<CENTER><IMG SRC='http://127.0.0.1/ASM/modifier.png' title='modifier'></CENTER></a>";
echo "</TD>";

qui me renvoit vers modification_salarie.php qui m'affiche toutes les infos du salarié en question que l'on peut modifier si il y a des changements d'adresse etc.
Et la je passe par un FORM de type POST pour valider les changements qui me renvoit vers envoi_modification_salarie.php qui contient les requêtes nécessaires.
Or dans cette page les changements ne s'effectuent pas car il ne reconnait pas l'ID_Salarie(voir le premier post) même si j'affiche la variable $_POST qui contient bien les données même changées du salarié hormis l'ID.
J'espère que cela est plus clair pour toi.
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 385
7 août 2008 à 15:51
Bonjour,

Ok, pour passer du premier fichier PHP vers le deuxième, tu utilises href et je suppose que tu récupère ton ID_SALARIE par un $_GET dans ce deuxième fichier. Pour passer du deuxième fichier PHP vers le troisième tu utilises FORM de type POST, mais comment passes-tu alors ton ID_SALARIE du 2ème vers le 3ème ? Tu peux peut-être passer ton ID_SALARIE par l'intermédiaire de $_SESSION.

A plus
0

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

Posez votre question
BoyDkr81 Messages postés 32 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 août 2008
7 août 2008 à 16:13
OK ça fonctionne avec cette méthode, par contre il ne me récupère que l'ID du dernier salarié présent dans mon tableau alors que je voudrais récupérer tous les ID des salariés présents dans le tableau.
Si tu as une solution se serait génial.
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 385
7 août 2008 à 16:46
Bonjour,

As-tu sauvé ID_SALARIE dans ton premier fichier , si oui c'est normal que tu obtiens le dernier de ton tableau, je pense que tu devrais sauver ton ID_SALARIE dans ton 2ème fichier en utilisant la valeur que tu reçois comme paramètre dans ton HREF (en créant ta session dans ton 2ème fichier et détruisant ta session dans ton 3ème fichier). Si ce n'est pas assez clair comme explication, fais le moi savoir.

A plus
0