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 :

problème d emise à jour d'une table


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut problème d emise à jour d'une table
    Bonjour tout le monde

    voilà j'ai 2 tables:

    article(id_article,login,num,prix_achat,date_achat,id_etr_agence)
    agence(id_agence,lib_agence)

    avec id_etr_agence une clé étrangère dans article.

    j'ai un formulaire ou je tape le numéro(num)les informations del'article correspondant à ce num s'affichent et ce sont ce numéro que j'ai tapé et l'agence correspondante



    ce que je veux faire c'est changer cette agence :

    voilà mon code :
    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
    include("connex.inc.php");
    			$idcom=connex("gestion_articles","myparam");
     
    			if (isset(  $_POST['num']))
     
    			{
    	                       $num=$_POST['num'];
     
    	$requete1="select id_etr_agence  from where num=$num";
    	$result1=@mysql_query($requete1,$idcom);
     
     
        $requete2="update agence set lib_agence=agenced  where id_agence   =$result1";
    			$result2=@mysql_query($requete2,$idcom);
     
    			header("Location:modification.php ");
     
    			}

    mais ça marche pas je n'ai aucune mise à jour


    j'explique ce que je veux faire :quand je tape le num dans le formulaire ,on va aller à la ligne de ce num dans la table article et je récupère id_etr_agence puis on va aller à la ligne de table agence où id_agence=id_etr_agence et je change lib_agence correspondante par la nouvelle valeur que j'ai tapé dans le formulaire.


    svp aidez moi
    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    Ben déjà c'est normal qu'il y ait rien après ton from dans la première requete ?

    Après t'utilises un $num qui est pas entre quote, ta requete peut pas marcher.
    Pareil pour la deuxième.

    Et le = $result1 veut rien dire tu dois faire un $donnees = $requete->fetch()et ce que tu veux je pense c'est $donnees['id_etr_agence'];Bref revois les syntaxes des requêtes.

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    merci pr ta réponse

    en fait voilà j'ai ajouté ce que tu m'as dit mais rien ne marche
    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
    include("connex.inc.php");
    			$idcom=connex("gestion_articles","myparam");
     
    			if (isset(  $_POST['num']))
     
     
    	                       $num=$_POST['num'];
     
    			$requete1="select id_etr_agence  from  article where num='$num'";
    			$result1=@mysql_query($requete1,$idcom);
     
    			while($donnees = $requete1->fetch())
    			{
     
    			$id=$donnees['id_etr_agence'];
     
    			$requete2="update agence set lib_agence=agenced where id_agence = '$id'";
    			$result2=@mysql_query($requete2,$idcom);
     
    		}


    svp aide moi je suis bloquée

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    J'utilises pas vraiment mysql_query, et je suis pas sur de comment tu te connectes à la base comme je sais pas ce que fait ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connex("gestion_articles","myparam");
    Ce serait plus simple que tu utilises une requête préparée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    try
    {// Ca c'est la connexion en PDO mais je sais pas comment toi tu l'as faite
    $bdd = new PDO('mysql:host=localhost;dbname=nom_de_ta_base','root',' ');
    }
    	catch (Exception $e)
    {die('Erreur : ' . $e->getMessage());}		
     
    // Tu prépares ta requete						
    $requete = $bdd->prepare('SELECT id_etr_agence FROM article WHERE num=?');
    // Et tu l'executes avec ta variable
    $requete->execute(array($num)) or					die(print_r($requete->errorInfo()));
    Tu traites ensuite ta requete avec le fetch comme tu as fait (a part que ton while est pas fermé après ton $id=... )

    Et tu fais la même pour l'autre.

    Sinon pour info si tu veux écrire quand même ta requete en dur ce serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    requete = "SELECT id_etr_agence FROM article WHERE num=" .$num ;
    Parce que pareil je suppose que dans ton agenced c'est une variable que tu récupères ?
    Tu la rentres dans une chaine de caractère ça marchera pas. C'est un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "lib_agence=".agenced."//le reste
    enfin si j'ai compris.

Discussions similaires

  1. Problème mise à jour d'une table? Je ne comprends pas
    Par toutounesan dans le forum WinDev
    Réponses: 46
    Dernier message: 08/01/2011, 21h40
  2. [AC-2000] Problème de mise à jour d'une table
    Par elfike dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/09/2010, 19h27
  3. Réponses: 2
    Dernier message: 14/05/2007, 10h45
  4. [MySQL] Problème de mise à jour d'une table
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 17/01/2006, 11h39
  5. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46

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