0) { $this->_loadAndFillObject($src['ID'], self::TABLE_NAME, $src); } else { $this->_loadByRow($src, $stripSlashes); } } elseif (intval($src)) { $sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE ID = :id"; $query = $con->prepare($sql); $query->bindParam(":id", $src); try { $query->execute(); $it = $query->fetchAll(PDO::FETCH_ASSOC); Utils::FillObjectFromRow($this, $it[0]); } catch (Exception $exc) { $exc->getMessage(); } } } public static function Count($filter = null) { return parent::_count(self::TABLE_NAME, $filter); } public static function LoadDataTable($searchQuery = "", $searchArray = array(), $columnName = array(), $columnSortOrder = array(), $start = 0, $offset = 0, $totCount = false) { return parent::_loadDataTable(self::TABLE_NAME, $searchQuery, $searchArray, $columnName, $columnSortOrder, $start, $offset, $totCount); } public static function LoadDataTableFromAeroporto($searchQuery = "", $searchArray = array(), $columnName = array(), $columnSortOrder = array(), $start = 0, $offset = 0, $totCount = false) { $select = " A.* "; $sql = AeroportiCompagnie::TABLE_NAME . " D " . "INNER JOIN " . AnagraficaCompagnie::TABLE_NAME . " A ON A.ID = D.COMPAGNIA "; return parent::_loadDataTableEx($select, $sql, $searchQuery, $searchArray, $columnName, $columnSortOrder, $start, $offset); } public function Save() { global $con, $LoggedAccount; $vars = get_object_vars($this); $sql = Utils::prepareQuery(self::TABLE_NAME, $vars); $queryabi = $con->prepare($sql); foreach ($vars as $k => $v) { if ($k == "ID" && $v == 0) { continue; } $queryabi->bindValue(":" . $k, $v); } try { $it = parent::_Save($queryabi); } catch (Exception $exc) { $it['descrizioneErrore'] = $exc->getMessage(); } return $it; } public function Delete() { return parent::_Delete(self::TABLE_NAME, "ID = " . $this->ID); } public static function autocomplete($string = '', $andata = null, $ritorno = null) { global $con; $return = array(); $filter = ''; $searchFix = ''; if (!empty($andata) && !empty($ritorno)) { $filter = " (AEROPORTO = :andata OR AEROPORTO = :ritorno) AND "; }else{ return $return; } $string = "%" . strtolower($string) . "%"; $sql = "SELECT A.* FROM " . self::TABLE_NAME . " A INNER JOIN ".AeroportiCompagnie::TABLE_NAME." B ON B.COMPAGNIA = A.ID WHERE " . $filter . " LOWER(A.NOME) LIKE :term ".$searchFix." ORDER BY A.NOME"; $query = $con->prepare($sql); if (!empty($andata) && !empty($ritorno)) { $query->bindParam(":andata", $andata); $query->bindParam(":ritorno", $ritorno); } $query->bindParam(":term", $string); try { $query->execute(); while ($it = $query->fetch(PDO::FETCH_ASSOC)) { $descrizione = $it['NOME']; $row['id'] = $descrizione; $row['text'] = $descrizione; $row['label'] = $descrizione; $row['codice'] = $it['ID']; array_push($return, $row); } } catch (Exception $exc) { echo $exc->getMessage(); } return $return; } public static function ListCompagnie() { global $con; $filter = ''; $sql = "SELECT * FROM " . self::TABLE_NAME. ' order by NOME asc'; $query = $con->prepare($sql); $return = array(); try { $query->execute(); $return = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } return $return; } public function Parse(&$record, $campo = "") { array_push($record, array("Campo" => $campo, "Valore" => $this->$campo)); } }