Problème avec SELECT dans une class

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec SELECT dans une class

Re: Problème avec SELECT dans une class

par Stu76 » 14 déc. 2021, 16:59

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; }

Problème avec SELECT dans une class

par Stu76 » 14 déc. 2021, 14:54

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: