特定の 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);