public function getContactByName($firstName, $name) { if ($name == null) { return null; } $list = []; try { if (!parent::getBdd()->inTransaction()) { parent::getBdd()->beginTransaction(); } if ($firstName != null) { $query = "SELECT * FROM CONTACT WHERE firstName like :firstName and name like :name"; } else { $query = "SELECT * FROM CONTACT WHERE name like :name"; } $request = parent::getBdd()->prepare($query); if ($firstName != null) { $firstName = '%' . $firstName . '%'; $request->bindParam(':firstName', $firstName); } $name = '%' . $name . '%'; $request->bindParam(':name', $name); $request->execute(); while ($data = $request->fetch()) { $contact = $this->parseContact($data); array_push($list, $contact); } $request->closeCursor(); if ($list == []) { return null; } return $list; } catch (Exception $e) { error_log($e->getMessage()); } return null; }
public function deleteType($id) { try { if ($id == null || $id == -1) { return false; } if (!parent::getBdd()->inTransaction()) { parent::getBdd()->beginTransaction(); } $query = "DELETE FROM TYPE WHERE ID = :id"; $request = parent::getBdd()->prepare($query); $request->bindParam(':id', $id); $request->execute(); parent::getBdd()->commit(); $request->closeCursor(); return true; } catch (Exception $e) { error_log($e->getMessage()); } return false; }
public function getAddressesByRayon($address, $rayon) { $list = []; try { if (!parent::getBdd()->inTransaction()) { parent::getBdd()->beginTransaction(); } $query = "SELECT *, ( 6371 * acos( cos( radians(:latitude) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(:longitude) )\n + sin( radians(:latitude) ) * sin( radians( latitude ) ) ) ) AS distance FROM address HAVING distance < :rayon ORDER BY distance LIMIT 0 , 150;"; $request = parent::getBdd()->prepare($query); $request->bindParam(':latitude', $address->getLatitude()); $request->bindParam(':longitude', $address->getLongitude()); $request->bindParam(':rayon', $rayon); $request->execute(); while ($data = $request->fetch()) { $address = new Address(); $address->setId($data['id']); $address->setLine1($data['line1']); $address->setLine2($data['line2']); $address->setZipCode($data['zipcode']); $address->setCity($data['city']); $address->setLatitude($data['latitude']); $address->setLongitude($data['longitude']); array_push($list, $address); } if ($list == []) { return null; } return $list; } catch (Exception $e) { error_log($e->getMessage()); } return null; }