A voir également:
- Fetch avec des functions
- Télécharger microsoft excel - advanced excel formulas & functions gratuite - Télécharger - Tableur
- Concatener avec retour de ligne en function VBA ✓ - Forum Excel
- The setup command may only be used inside a describe block. at c:\program files\windowspowershell\modules\pester\3.4.0\functions\describe.ps1:125 char:9 + throw "the $commandname command may only be used inside a des ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + categoryinfo : operationstopped: (the setup comma...describe block.:string) [], runtimeexception + fullyqualifiederrorid : the setup command may only be used inside a describe block. ✓ - Forum Windows 10
3 réponses
Utilisateur anonyme
Modifié par le père. le 9/07/2012 à 08:11
Modifié par le père. le 9/07/2012 à 08:11
Bonjour
Deux choses :
1 - ta syntaxe pour récupérer les champs d'un objet est incorrecte : c'est showVideo()->titre et non pas showVideo()->$show['titre'].
Pourquoi avais-tu ajouté ce $show ? Ce nom de variable est local à la fonction showVideo() , il n'existe pas en dehors de cette fonction.
2 - pour réaliser ton affichage, tu appelles 5 fois la fonction showVideo(). Tu vas donc exécuter 5 fois les mêmes requêtes pour obtenir les mêmes résultats, c'est un gros gaspillage. Sans compter que tu auras fait 5 fois view=view+1, ce qui n'est sans doute pas ce que tu veux.
Il ne faut appeler showVideo() qu'une seule fois au début de l'affichage, et mettre le résultat dans une variable ; ensuite tu te sers de cette variable pour afficher les différents champs.
Deux choses :
1 - ta syntaxe pour récupérer les champs d'un objet est incorrecte : c'est showVideo()->titre et non pas showVideo()->$show['titre'].
Pourquoi avais-tu ajouté ce $show ? Ce nom de variable est local à la fonction showVideo() , il n'existe pas en dehors de cette fonction.
2 - pour réaliser ton affichage, tu appelles 5 fois la fonction showVideo(). Tu vas donc exécuter 5 fois les mêmes requêtes pour obtenir les mêmes résultats, c'est un gros gaspillage. Sans compter que tu auras fait 5 fois view=view+1, ce qui n'est sans doute pas ce que tu veux.
Il ne faut appeler showVideo() qu'une seule fois au début de l'affichage, et mettre le résultat dans une variable ; ensuite tu te sers de cette variable pour afficher les différents champs.
OMG, sa fonctionne :) Merci beaucoup et oui je me doutais bien que la syntax étais mauvaise, mais ne sachant pas comment l'appeler en POO, c'est difficile, surtout que le tuto j'ai suivie étais usr l'envoi de donné via formulaire, alors pour afficher les résultat d'une requète je me suis débrouiller avec mes connaissance de PHP débutant. Bon merci encore pour ton aide.
Utilisateur anonyme
14 juil. 2012 à 01:19
14 juil. 2012 à 01:19
mais ne sachant pas comment l'appeler en POO, c'est difficile Il suffit de lire le manuel PHP. C'est là que j'ai appris, je ne connaissais pas PDO il y a 2 mois.
Pour en revenir à ton code, oui, il y a une erreur. Une erreur de logique.
Tu recommences la même erreur qu'avant, en en rajoutant une couche
1 - $showCatVideo = $getVideoCat->videoCat();
Tu appelles ta fonction videoCat(), c'est à dire que tu exécutes ta requête et que tu récupères le premier résultat (c'est bien ce que fait ta fonction)
2 - while ($showCatVideo = $getVideoCat->videoCat())
Tu n'as pas encore utilisé le premier résultat que tu as obtenu ($showCatVideo) tu recommences le même appel à la même fonction : nouvel appel à la même requête, tu récupères encore le même résultat. Et tu récupèreras encore le même chaque fois que tu passeras par le while.
Ta fonction me semble inutile, tu appelles ta requête une fois (et une seule) et ensuite tu boucles sur le fetch pour parcourir les lignes.
Pour en revenir à ton code, oui, il y a une erreur. Une erreur de logique.
Tu recommences la même erreur qu'avant, en en rajoutant une couche
1 - $showCatVideo = $getVideoCat->videoCat();
Tu appelles ta fonction videoCat(), c'est à dire que tu exécutes ta requête et que tu récupères le premier résultat (c'est bien ce que fait ta fonction)
2 - while ($showCatVideo = $getVideoCat->videoCat())
Tu n'as pas encore utilisé le premier résultat que tu as obtenu ($showCatVideo) tu recommences le même appel à la même fonction : nouvel appel à la même requête, tu récupères encore le même résultat. Et tu récupèreras encore le même chaque fois que tu passeras par le while.
Ta fonction me semble inutile, tu appelles ta requête une fois (et une seule) et ensuite tu boucles sur le fetch pour parcourir les lignes.
13 juil. 2012 à 22:31
public function videoCat()
{
require ('query.inc.php');
$video_cat = $bdd->prepare('SELECT * FROM video WHERE categori_perma="trailer"');
$video_cat->execute();
$showVideoCat = $video_cat->fetch();
return $showVideoCat;
}
$getVideoCat = new video;
$showCatVideo = $getVideoCat->videoCat();
while ($showCatVideo = $getVideoCat->videoCat())
{
echo "<div id=\"video_preview_displayer_contrainer\">
<a href=\"watch.php?section=watch&video=".$showCatVideo->perma_title."\"><h2>".$showCatVideo->titre."</h2></a>
</div>";
}
Auraient-ils des erreurs ? Merci a l'ancance.