/** * Retrive Record from current query and numId * * @access public * @param string $req current query * @param integer $numId Number of record from current query * @param boolean $error if true return POST value */ function recupElement($req, $numId, $error = false) { include_once INCLUDE_LIB . 'ParsingQuery.class.php'; $tabQueryElement = ParsingQuery::explodeSelect($req); $tabQueryElement['SELECT'] = 'ROWID, ' . $tabQueryElement['SELECT']; if (preg_match('#FROM#i', $req)) { $tabFrom = explode(',', $tabQueryElement['FROM']); foreach ($tabFrom as $key => $value) { $tabFrom[$key] = brackets(unquote($value)); } $tabQueryElement['FROM'] = implode(',', $tabFrom); } if (preg_match('#LIMIT#i', $req)) { $tabLimit = explode(',', $tabQueryElement['LIMIT']); $tabQueryElement['LIMIT'] = (int) $tabLimit[0] + $numId . ',1'; } else { $tabQueryElement['LIMIT'] = $numId . ',1'; } $querySearch = ''; foreach ($tabQueryElement as $clause => $contentClause) { $querySearch .= $clause . ' ' . $contentClause . ' '; } $this->connId->connId->query($querySearch); $tabData = $this->connId->connId->fetch_array(null, $this->connId->connId->getVersion() == 3 ? SQLITE_BOTH : SQLITE_ASSOC); if ($this->connId->connId->getVersion() == 3) { $tabData["ROWID"] = $tabData[0]; } if ($error) { foreach ($tabData as $fieldname => $fieldvalue) { if (isset($_POST[$fieldname])) { $tabData[$fieldname] = $_POST[$fieldname]; } } } return $tabData; }