IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Modification valeur d'une table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Modification valeur d'une table
    Bonjour !
    Je viens de commencer le php il y a 1 mois, et j'ai encore quelques petits soucis d'adaptation entre le langage php et la SGBD. Je vous explique mon problème.
    Je suis en train de créer un site internet pour étudiants avec remplissage d'un formulaire d'inscription (nom, prénom, ville etc...). Lorsque l'étudiant à remplis le formulaire, il passe à une seconde étape, une troisième... Arrivé à la dernière étape, il doit choisir une date pour passer son entretien.
    Mon problème est le suivant, je n'arrive pas insérer la date de l'entretien prise par l'étudiant dans la table où l'étudiant à précédemment remplis son formulaire.
    J'ai créé une colonne "entretien", vide, qui ne se remplis pas...

    table : candidater
    colonne : entretien
    Je me suis inspiré de différent code en essayant de les adapter à ma guise. J'essaye que la date de l'entretien s'insère dans la table que l'étudiant à remplis précédemment via son "nom" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    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
    <?
            if (isset($_POST['candidater']) && $_POST['candidater'] == 'Candidater') 
    	{
     
    		if ((!isset($_POST['entretien']) && empty($_POST['entretien']))
    		&& (!isset($_POST['nom']) && empty($_POST['nom']))) 
    		{
    			connexion();
     
    			$sql = 'SELECT count(*) FROM candidater WHERE nom="'.mysql_escape_string($_POST['nom']).'"';
    			$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    			$data = mysql_fetch_array($req);				
     
    			if ($data[0] == 0) 
    			{
     
    				$sql = 'UPDATE candidater SET entretien= '.mysql_escape_string($_POST['entretien']).' WHERE nom="'.($_POST['nom']).'"';
     
    				mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
    				session_start();
    				$_SESSION['entretien'] = $_POST['entretien'];
    				header('Location: index.php');
    				exit();
    			}
    			else 
    			{
    				$erreur = 'Date existante.';
    			}						
    		}	
    		else 
    		{
    			$erreur = 'Au moins un des champs est vide.';
    		}
    	} 
    ?>
    Il m'affiche directement ma deuxième erreur "Au moins un des champs est vide".
    Auriez-vous une idée ?

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    C'est pas plutôt;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		if ((isset($_POST['entretien']) && !empty($_POST['entretien']))
    		&& (isset($_POST['nom']) && !empty($_POST['nom'])))

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Effectivement c'est ce que j'avais effectué lors de mes tests pour trouver le problème, mais malheureusement il m'affiche toujours la même erreur...

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    var_dump de $_POST pour bien voir tes valeurs encours ...

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    En effet, il me prend bien en compte le fait que je sélectionne une date, mais il m'affiche tout en haut de ma page une array de ce type là :

    array
    'entretien' => string '2012-JUI-21' (length=11)
    'candidater' => string 'Candidater' (length=10)

    ... Sans pour autant ajouter la valeur de ma colonne entretien dans ma table candidater.
    Peut être que je n'ai pas bien placé le "var_dump($_POST);" que tu m'as suggéré au bon endroit. Je l'ai positionné juste en dessous du if(isset...)

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Peut être que je n'ai pas bien placé le "var_dump($_POST);" que tu m'as suggéré au bon endroit. Je l'ai positionné juste en dessous du if(isset...)
    Ca change rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    array
    'entretien' => string '2012-JUI-21' (length=11)
    'candidater' => string 'Candidater' (length=10)
    Et donc il manque le champ 'nom' et donc donc sort avec false dans ta condition.

    Regardes pourquoi 'nom' existe pas (pb dans le formulaire de la méthode post)

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Pourtant "nom" devrait exister vu qu'il est récupéré et il remplit le champs à la précédente page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom']));
    Ou alors peut être que je l'ai mal formulé.
    Il doit y avoir quelque chose qui m'échappe mais quoi, je ne vois pas

  8. #8
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Et bein comme j'ai pas le code sous les yeux, fait des var_dump sur des entrées de page et sorties mais il y a^quelque chose ...

    Pourtant "nom" devrait exister vu qu'il est récupéré et il remplit le champs à la précédente page.
    A la précédente page, c'est ok mais ensuite tu le passes comment pour la page suivante, celle nous concernant

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci Fench, le var_dump est une merveille =D !!

    Problème résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 04/06/2009, 13h02
  2. Encore une question, pour retrouver 2 valeur d'une table
    Par danje dans le forum Langage SQL
    Réponses: 5
    Dernier message: 15/09/2005, 00h11
  3. Insertion valeure dans une table
    Par krfa1 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/03/2005, 10h50
  4. Test d'existence d'une valeur dans une table
    Par dleu dans le forum Bases de données
    Réponses: 9
    Dernier message: 29/12/2004, 10h38
  5. Mettre la valeur d'une table dans une CString
    Par Lucier dans le forum MFC
    Réponses: 29
    Dernier message: 26/11/2004, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo