Page 1 sur 1

Problème avec SELECT dans une class

Posté : 14 déc. 2021, 14:54
par Stu76
Bonjour à tous,

Je me mets à la POO et j'ai un petit problème avec une fonction select. En gros, si je retourne une valeur en l'occurrence ici un "id", il m'affiche le bon message. Mais j'aimerais savoir s'il est possible d'afficher tous les messages de la table si l'"ID" est vide. Peut-on mettre une * ou autre à la place. J'ai essayé mais sans succès :-(

Voici mon code

Code : Tout sélectionner

class Communication{ private $id; private $nom; private $corps; private $type; private $idT; public function __construct(){ } public function setId($id){$this->id = $id;} public function affComm(){ $db =Database::connect(); $db->exec("SET CHARACTER SET utf8"); $stmt = $db->prepare('SELECT * FROM communication where id = :id'); $stmt->bindValue(":id",$this->id,PDO::PARAM_INT); $stmt->execute(); $comm = $stmt->fetchall(); $stmt->closeCursor(); return $comm; }


Il y a surement plus simple ,ici c'est une ébauche de code.

Merci d'avance :wink:

Re: Problème avec SELECT dans une class

Posté : 14 déc. 2021, 16:59
par Stu76
Voici une méthode qui fonctionne, mais je me demande s'il n'y a pas plus simple et surtout plus pro :cry: :?:

Code : Tout sélectionner

public function affComm(){ $db =Database::connect(); $db->exec("SET CHARACTER SET utf8"); if($this->id ===''){ $stmt = $db->prepare("SELECT * FROM communication"); } else{ $stmt = $db->prepare("SELECT * FROM communication where id = :id "); $stmt->bindValue(":id",$this->id,PDO::PARAM_INT); } $stmt->execute(); $comm = $stmt->fetchall(); $stmt->closeCursor(); return $comm; }