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...
++