Ressortir une variable d'une fonction avec un Return.

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 : Ressortir une variable d'une fonction avec un Return.

Re: Ressortir une variable d'une fonction avec un Return.

par tof73 » 17 mai 2015, 18:05

tu as 2 fois la fonction fetch, et comme il n'y a qu'un enregistrement au cause du limit, le second fetch ne retourne rien, cela ne rentre donc jamais dans le while.

Re: Ressortir une variable d'une fonction avec un Return.

par deediezi » 17 mai 2015, 17:44

Il retourne un tableau sous cette forme Array ( [id] => 1 [0] => 1 [title] =>

EDIT : Mais j'ai déjà testé cette fonction et elle fonctionne très bien. J'ai testé sans article dans la BDD et j'ai bien le echo "<p>Aucun article dans la base de données.</p>"; qui apparaît. Mon problème est juste de retourner la variable $data pour la récupérer dans ma page index.php :(

Re: Ressortir une variable d'une fonction avec un Return.

par tof73 » 17 mai 2015, 17:40

$verif = $bdd->query("SELECT * FROM articles")->fetch();
if($verif > 0) {

que retourne la fonction fetch ?
si ce n'est pas un entier, alors le if qui suit n'aura pas forcément l'effet voulu.

Ressortir une variable d'une fonction avec un Return.

par deediezi » 17 mai 2015, 17:10

Salut les amis ! Je poste aujourd'hui car je viens tout juste de finir d'apprendre le Poo. Je souhaite mettre tout cela en pratique mais malheureusement j'ai toujours eu un peu de mal à comprendre les Return dans les fonctions :(

Je vous explique mon problème.. dans une classe articleManager il y a une fonction showOne(). Un getters qui donne le dernier article ajouté dans la base de données. Jusque là, tout est bon. Je souhaite désormais récupérer ma variable $data sur ma page index.php afin de récupérer l'id de l'article pour pouvoir le faire passer en $_GET plus tard. Mais impossible ! Voici mon code :
<?php 

class articleManager {

	private $title;
	private $content;
	private $author;
	private $time;

	public function showOne() {

		global $bdd;

		$req = $bdd->query("SELECT * FROM articles ORDER BY id DESC LIMIT 0,1");
		$verif = $bdd->query("SELECT * FROM articles")->fetch();

		if($verif > 0) {

			while($data = $req->fetch()) {

				echo "<h3>".$data["title"]."</h3>
					<p>".$data["content"]."</p>";

				return $data;
			}

		} else {

			echo "<p>Aucun article dans la base de données.</p>";

		}

	}

}
Merci de votre humble aide ! :)