IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[PHPLIB] Afficher un tableau à partir d'une requête


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [PHPLIB] Afficher un tableau à partir d'une requête
    Bonjour,

    J'ai un petit souci. J'essaye de faire passer du pas mal de truc dans un template. Et j'ai un problème avec une partie de code.

    En effet, dans du code php bete, ca fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($queterecomp = mysql_fetch_array($resultatrecompense,MYSQL_ASSOC))
    {
    echo "- ".$queterecomp['objnom']."<br>"; 
    }
    Ca me retourne tous les enregistrements.

    Par contre, dans la version "pour template" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tpl->set_var("type", $quete['qutype']); 
    while ($queterecomp = mysql_fetch_array($resultatrecompense,MYSQL_ASSOC))
    {
    $tpl->set_var("recompense", $queterecomp['objnom']); 
    }
    La var recompense ne me retourne qu'un seul enregistrement, alors que je voudrais qu'elle m'affiche les 5 qu'elle trouve ....

    Merci pour votre aide

  2. #2
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    je pense que la reponse se trouve dans la fonction set_var de ta classe $tpl (oui $tpl n'est pas une classe c'est un obj de cette classe...)
    Le but de tout developpeur OO est de devenir une référence.
    Mon avatar est un ambigramme, les curieux peuvent le retourner ;-)
    Aider <> Faire a la place de!!!

  3. #3
    Fabouney
    Invité(e)
    Par défaut
    quel moteur de template utilise tu ? c'est normal, il te retourne le dernier enregistrement. il faut mettre tes résultat dans un tableau. tu ecrase a chaque tour de boucle ta variable "recompense" ...

  4. #4
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Fabouney
    quel moteur de template utilise tu ? c'est normal, il te retourne le dernier enregistrement. il faut mettre tes résultat dans un tableau. tu ecrase a chaque tour de boucle ta variable "recompense" ...
    phplib

    Oui c'est bien ce qui me semblait, mais j'ai l'esprit un peu embrouillé, je commence avec les templates. Comment faire pour les placer dans un tableau et afficher ce tableau ?

    (je jongle entre bouquins et sites web, je finis par ne plus m'y retrouver)

    Merci beaucoup pour votre aide

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    J'imagine que phpLib offre une méthode du style "assign_block_vars" puisque c'est celle disponible dans le moteur de phpBB, qui est une version modifiée de phpLib si je ne m'abuse.

    Quoi qu'il en soit, l'idée est de générer un nouveau bloc et non d'assigner des variables à la racine du template car, comme le dit Fabouney, ta boucle écrase la variable à chaque itération.

  6. #6
    Fabouney
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $t->set_file("recomp","recompense.htm"); //le fichier contenant ton block
    $tpl->set_block('recomp', 'recompense', 'Tbloc'); 
    $tpl->set_var("type", $quete['qutype']);
     
    while ($queterecomp = mysql_fetch_array($resultatrecompense,MYSQL_ASSOC))
    {
    $tpl->set_var("recompense", $queterecomp['objnom']);
    $tpl->Parse('Tbloc', 'recompense', true); 
    } 
     
    $tpl->pparse('Sortie', 'recomp');
    quelque chose comme ca, mais consulte la dos de phplib c'est forcement expliqué plus en détail.

  7. #7
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Donc en gros, je génére

    un block
    --- je récupère liste queterecomp['objnom'] que je veux

    Page avec mon tableau
    --- j'inclue la liste queterecomp['objnom'] récupéré ailleurs ?

    Houla Oo ca va m'en faire des fichiers tout ca

  8. #8
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Fabouney
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $t->set_file("recomp","recompense.htm"); //le fichier contenant ton block
    $tpl->set_block('recomp', 'recompense', 'Tbloc'); 
    $tpl->set_var("type", $quete['qutype']);
     
    while ($queterecomp = mysql_fetch_array($resultatrecompense,MYSQL_ASSOC))
    {
    $tpl->set_var("recompense", $queterecomp['objnom']);
    $tpl->Parse('Tbloc', 'recompense', true); 
    } 
     
    $tpl->pparse('Sortie', 'recomp');
    quelque chose comme ca, mais consulte la dos de phplib c'est forcement expliqué plus en détail.
    Merci beaucoup, je vais regarder ca

  9. #9
    Fabouney
    Invité(e)
    Par défaut
    en gros tu défini un bloc 'récompense' dans le fichier où tu veux les afficher.
    donc tu n'auras pas plus de fichier, exactement le même nombre.

    petite correction, avec le set_var dans ta boucle :

    essay avec ca si jamais ca fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tpl->set_var(array("recompense" => $queterecomp['objnom']));

  10. #10
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Fabouney
    en gros tu défini un bloc 'récompense' dans le fichier où tu veux les afficher.
    donc tu n'auras pas plus de fichier, exactement le même nombre.
    Donc en gros, je peux enlever cette ligne :
    $t->set_file("recomp","recompense.htm");

    vu que j'ai déja initié un fichier plus haut (il s'agit d'une page avec plusieurs requetes SQL qui tourne derriere)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tpl->set_var(array("recompense" => $queterecomp['objnom']));
    J'ai essayé, toujours pareil, je pense que j'ai un problème avec mes parse, ca doit trop parser. Je sens que je vais abandonner l'idée de faire des templates pour le moment lol

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Le truc qui pourrait te mettre sur la voie serait d'étudier des exemples. Il y en a forcément quelque part ! Un didactitiel, quoi.

Discussions similaires

  1. [WD17] chargement d'un tableau à partir d'une requête de jointure
    Par futur_ingenieur dans le forum WinDev
    Réponses: 35
    Dernier message: 05/09/2013, 19h02
  2. Enregistrer un tableau à partir d'une requête
    Par stannis dans le forum Langage
    Réponses: 2
    Dernier message: 11/04/2012, 10h14
  3. Réponses: 2
    Dernier message: 22/12/2009, 16h35
  4. [A-03] Création d'un tableau à partir d'une requête
    Par helprojet dans le forum VBA Access
    Réponses: 3
    Dernier message: 16/02/2009, 12h41
  5. [SQL] Tableau associatif à partir d'une requête
    Par hugo69 dans le forum WinDev
    Réponses: 1
    Dernier message: 24/03/2007, 19h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo