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 :

Mise à jour d'une ligne


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut Mise à jour d'une ligne
    Bonjour,

    Je ne programme pas depuis longtemps et j'aurai besoin d'aides ou de conseils avisés.

    J'ai un petit problème concernant l'update dans l'une de mes table de ma base de donnée.

    J'ai une table intervenant qui contient 2 champs:

    -le premier champ c'est film_id
    -le 2ième c'est acteur_id

    J'ai plusieurs id_acteur pour le même film_id


    Je souhaiterai modifier chaque acteur_id individuellement :

    code php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
     
      for($j = 0; $j < $_POST['cache']; $j++)
    {
      $insert_intervenant = "UPDATE intervenant
                 SET acteur_id='".$_POST['acteur'][$j]."'
                 WHERE film_id =".$_POST['id_film']." ";
      //echo $insert_intervenant.'<br />';
        mysql_query($insert_intervenant);
     
    ?>
    }
    Ma requête fonctionne correctement lorsque je n'ai qu'un seul acteur à modifier. Seulement, le problème est le suivant: si j'ai 3 acteurs différents pour un film, à la fin de ma boucle l'update ne prend en compte que le dernier pour les 3.

    Ce que je souhaiterai, c'est de pouvoir modifier chaque ligne de ma table individuellement ?

    Comment puis-je y arriver ?Est ce que c'est possible?
    Si quelqu'un pouvais m'aider se serai vraiment gentil.

    Merci,Yvi

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Tu fais un UPDATE mais c'est un INSERT qui faudrait faire si et seulement si
    l'entrée n'existe pas.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut
    non, les acteurs et les films sont déjà enregistrés dedans. Je veux seulement les modifier .. c'est donc bien un UPDATE ..

    seulement, si j'ai 3 acteurs dans le même film et que je veux les modifier tous un par un ça ne marche pas

  4. #4
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    C'est sans doute que tu as mal conçu l'architecture de tes tables.

    Là, c'est logique d'avoir cette réaction, puisque tu updates 3 fois la même ligne de ta table.

Discussions similaires

  1. [MySQL] Mise à jour d'une ligne
    Par sanhoua dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/12/2009, 18h12
  2. Réponses: 1
    Dernier message: 05/08/2009, 23h29
  3. [AC-2003] mise à jour d'une ligne dans le cas des doublon
    Par radahm dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/06/2009, 08h30
  4. [MySQL] Dates de création et de mise à jour d'une ligne
    Par MrGroar dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 14/01/2009, 17h57
  5. Attribut de Mise à jour d'une ligne
    Par moezm7 dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/07/2007, 15h02

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