| 12
 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;
 
    } | 
Partager