QUERY: alle Datensätze in einem Array speichern

$selectFields = '*';
$fromTable    = '';
$whereClause  = '1';
$groupBy      = '';
$orderBy      = ''; // 'field(uid,' . $orderedUidList . ')';
$limit        = '';
$GLOBALS['TYPO3_DB']->store_lastBuiltQuery = 1;
$recordList = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows( $selectFields
                                                      , $fromTable
                                                      , $whereClause
                                                       .$this->cObj->enableFields($fromTable)
                                                      , $groupBy
                                                      , $orderBy
                                                      , $limit
                                                      );
//debug(array('fields' => $selectFields
//           ,'from'   => $fromTable
//           ,'where'  => $whereClause
//           ,'enable' => $this->cObj->enableFields($fromTable)
//           ,'group'  => $groupBy
//           ,'order'  => $orderBy
//           ,'limit'  => $limit
//           ,'query'  => $GLOBALS['TYPO3_DB']->debug_lastBuiltQuery
//           ,'recordList' => $recordList
//           ),'SELECT',__LINE__,__FILE__);

// direkte Weiter-Verarbeitung:
foreach ((array)$recordList as $record) {
	//$record['uid']
	//$translatedRecord = $GLOBALS['TSFE']->sys_page->getRecordOverlay($fromTable
	//                                                                ,$record
	//                                                                ,$GLOBALS['TSFE']->sys_language_uid
	//                                                                ,$GLOBALS['TSFE']->config['config']['sys_language_overlay']
	//                                                                );

}

 

$query='SELECT '.$selectFields.' FROM '.$fromTable

.' WHERE '.$whereClause.$this->cObj->enableFields($fromTable)

.' GROUP BY '.$groupBy

.' ORDER BY '.$orderBy

.' LIMIT '.$limit

;

INSERT: Daten in einem Datensatz speichern

$into_table  ='';
$field_values=array('fieldname1' => $value1
                   ,'fieldname2' => $value2
                   ,'fieldname3' => $value3
                   ,'fieldname4' => $value4
                   ,'fieldname5' => $value5
                   ,'tstamp' => time()
                   ,'crdate' => time()
                   );
		
$res=$GLOBALS['TYPO3_DB']->exec_INSERTquery( $into_table
                                           , $field_values
                                           );
$newUId = $GLOBALS['TYPO3_DB']->sql_insert_id();

 

$query='INSERT INTO '.$into_table.' SET ';

foreach ($field_values as $k=>$v) $query.=$k.'="'.$v.'",'

UPDATE: Daten aktualisieren

$into_table  ='';
$where_clause='';
$field_values = array('fieldname1' => $value1
                     ,'fieldname2' => $value2
                     ,'fieldname3' => $value3
                     ,'fieldname4' => $value4
                     ,'fieldname5' => $value5
                     ,'tstamp' => time()
                     );
		
$res = $GLOBALS['TYPO3_DB']->exec_UPDATEquery( $into_table      
                                             , $where_clause    
                                             , $field_values    
                                             );
// $res : richtige Syntax, das kann aber auch heißen dass trotzdem keine Datensätze verändert wurden. daher:
$cnt = $GLOBALS['TYPO3_DB']->sql_affected_rows();
// $cnt : Anzahl betroffener Datensätze

 

$query='UPDATE '.$into_table.' SET ';

foreach ($field_values as $k=>$v) $query.=$k.'="'.$v.'",';

$query.=' WHERE '.$where_clause;

DELETE: Daten löschen

$from_table  ='';
$where_clause='';
		
$res = $GLOBALS['TYPO3_DB']->exec_DELETEquery( $from_table      
                                             , $where_clause    
                                             );
// $res : richtige Syntax, das kann aber auch heißen dass trotzdem keine Datensätze gelöscht wurden. daher:
$cnt = $GLOBALS['TYPO3_DB']->sql_affected_rows();
// $cnt : Anzahl betroffener Datensätze

 

$query='DELETE FROM '.$into_table.' WHERE '.$where_clause;

 

Ein eigenes cObj kann man sich jederzeit so generieren:

$this->cObj = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('tslib_cObj');

 

 

um das TYPO3 Caching zu nutzen sollte man allerdings direkt mit TCEMAIN arbeiten: "Handling data in TYPO3 with tcemain"

 
Ihre aktuelle Seitenauswahl:  
>>>