0

特定の ID に基づいて vtigercrm のデータベース フィールドを更新したり、csv ファイルをアップロードしたいときに ID が利用できない場合はデータを挿入したりするためのサポートが必要です。そのために、私は 2 つの関数を作成しました。

    $tableName = Import_Utils::getDbTableName($this->user);
    $adb->pquery('INSERT INTO '.$tableName.' ('. implode(',', $columnNames).') VALUES ('. generateQuestionMarks($fieldValues) .')', $fieldValues);
    $this->numberOfRecordsRead++;
}

//reddy editing
public function selectRecords($columnNames, $fieldValues) {
    $adb = PearDatabase::getInstance();

    $tableName = Import_Utils::getDbTableName($this->user);

    $row = $adb->pquery("select * from vtiger_leadsfc where " .$columnNames[0].='?', array($fieldValues[0]));
    $res = $adb->num_rows($row);

    return $res;
}
//reddy editing
public function updateDB($columnNames, $fieldValues) {
    $adb = PearDatabase::getInstance();

    $tableName = Import_Utils::getDbTableName($this->user);
    $adb->pquery('UPDATE vtiger_leadsfc SET ('. implode(',', $columnNames).') VALUES ('. generateQuestionMarks($fieldValues) .')  WHERE ' .$columnNames[0]."=?", array($fieldValues[0]));
    $this->numberOfRecordsRead++;

}

このコードをcscreader.phpに追加しました

        if($res > 0){$this->updateDB($fieldNames, $fieldValues);}
        else
        $this->addRecordToDB($fieldNames, $fieldValues);
4

0 に答える 0