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 d'une fonction de mise à jour


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Avatar de witch
    Inscrit en
    Mai 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2007
    Messages : 346
    Par défaut Modification d'une fonction de mise à jour
    Bonjour,

    Voilà j'ai une fonction à modifier, j'essaie déjà de comprendre, ce n'est pas moi qui l'ai écris :
    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
    36
    37
    38
    39
    40
    41
    function saveRecord($table,$newRecArray)
        {
     
            $_hDB = $this->dbConnect();
            $lastArrayElmnt = count($newRecArray)-1; $rs=1;
            if ($newRecArray[0] == 0) {
                $rs = pg_query($_hDB,"SELECT nextval('$table"."_id_seq') as key"); 
                $row = pg_fetch_array($rs, 0); $last_id = $row['key'];
                $query = "INSERT INTO $table VALUES ('$last_id', ";
                for($n=1;$n<$lastArrayElmnt;$n++) {
                    $query .= "'".unicodereplace($newRecArray[$n])."', ";
                }
                $query .= "'".$newRecArray[$lastArrayElmnt]."')";
                $rs = pg_query($_hDB,$query);
            } else {
                $fieldNames = $this->getFieldsNames($table);
                $savedRecArray = $this->getRecordById($table,$newRecArray[0]);
                $changedNamesArray = array(); $changedValuesArray = array();
                for($n=1;$n<count($newRecArray);$n++) {
                    if ($newRecArray[$n] != $savedRecArray[$n]) {
                        $changedNamesArray[] = $fieldNames[$n];
                        $changedValuesArray[] = $newRecArray[$n];
                    }
                }
                if(count($changedNamesArray)>0) {
                    $changedArray = array();
                    $query = "UPDATE $table SET ";
                    for($n=0;$n<count($changedNamesArray);$n++) {
                        $changedArray[] = " ".$changedNamesArray[$n]." = '".unicodereplace($changedValuesArray[$n])."'";
                    }
                    $query .= implode(",",$changedArray);
                    $query .= " WHERE id = '".$newRecArray[0]."';";
                    $rs = pg_query($_hDB,$query);
                }
                $last_id=$newRecArray[0];
            }
            //echo $query;
            pg_free_result($rs);
            return $query;
     
        }
    Cette fonction est appelé après la récupération des données se trouvant sur un fichier csv, la variable $newRecArray contient les données de ce fichier.
    La mise à jour ne se fait pas...
    ++

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    Bonjour,

    Il faudrait tester le retour de pg_query . cf la doc : si pg_query retourne FALSE il faut appeler pg_last_error() pour avoir le message d'erreur. Essayez d'afficher les erreurs. Sinon la requête affichée (echo $query) semble correcte ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/11/2013, 11h55
  2. Réponses: 2
    Dernier message: 10/03/2006, 13h55
  3. Aide sur modification d' une fonction.
    Par superadnan3 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/01/2006, 17h29
  4. Réponses: 6
    Dernier message: 29/11/2005, 19h36
  5. Optimisation d'une recherche et mise à jour
    Par gandf dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/01/2005, 18h38

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