[ar] [ca] [cpf] [de] [en] [es] [fr] [it]

Ce forum d’entraide est recommandé pour les utilisateurs et utilisatrices occasionnels de SPIP (Système de publication pour l’Internet). Avant de poser une question, faites une recherche sur ce site, consultez les liens utiles. Si vous ne trouvez pas de réponse, postez votre message dans la rubrique appropriée, avec un titre explicite.

Sujets : 24076 Sujets résolus :  39 %

50 visiteurs en ce moment


Accueil > Forums de discussion >  Création de squelettes > Boucle data afficher résultat tableau

Boucle data afficher résultat tableau

par Didine - 7 février 11:52 - Réponse(s) : 3

Bonjour,

j’utilise une classe php pour faire le tri dans un flux xml et ensuite afficher les résultats dans mon article.

Dans mes_fonctions j’ai mis :

<?php
include_spip 
('classes/test_class');

function 
test_class2(){
$kiwi = new Kiwi();
$ref 74;

$tarifs $kiwi->Api1BienTarif($ref);
foreach(
$tarifs as $tarif)
{
  echo 
"<p>ref = $ref : debut = " $tarif[0] . " - fin = " $tarif[1] . " -- prix = " $tarif[2];
}
echo 
"<hr>";


}

?>

Cette classe retourne les résultats dans un tableau.
Les infos apparaissent bien mais en dehors du content de l’article pour le moment.

J’ai créé un modèle avec un filtre qui fait appel à la fonction mais il ne m’affiche que le premier résultat...

Comment rédiger une boucle qui permettrait d’afficher toutes les lignes du tableau comme avec le foreach ?

Merci pour votre aide


  • il faut que la fonction retourne le tableau php

    1. include_spip ('classes/test_class');
    2.  
    3. function test_class2(){
    4. $kiwi = new Kiwi();
    5. $ref = 74;
    6.  
    7. $tarifs = $kiwi->Api1BienTarif($ref);
    8. return $tarifs;}

    Télécharger

    et dans votre modele

    1. <BOUCLE_data(DATA){source table,#VAL|test_class2}>
    2. #CLE -> #VALEUR</br>
    3. </BOUCLE_data>

    Télécharger

    A noter que vous pouvez passer la ref en paramètre du modele

    1. <mon_model|74>

    squelettes/modeles/mon_model.html :

    1. ref: #ENV{id}
    2. [<!--(#REM) Boucler sur le tableau?-->]
    3. <BOUCLE_data(DATA){source table,#ENV{id}|test_class2}>
    4. #CLE -> #VALEUR</br>
    5. </BOUCLE_data>

    Télécharger

    et la fonction :

    1. function test_class2($ref){
    2. if ($ref){
    3. $kiwi = new Kiwi();
    4. return $kiwi->Api1BienTarif($ref);
    5. }
    6. }

    Télécharger


  • Un grand merci pour ces infos tout fonctionne très bien.

    Une dernière question : pour certains éléments à afficher la class php me renvoie un tableau avec une colonne et 11 lignes de résultats.

    la boucle suivante n’affichait rien :

    1. <BOUCLE_data(DATA){source table,#VAL|test_class5} >
    2. <tr>
    3. <td>[(#VALEUR {0})]</td>
    4. <td>[(#VALEUR {1})]</td>
    5. <td>[(#VALEUR {2})]</td>
    6. </tr>
    7. </BOUCLE_data>

    Télécharger

    Du coup j’ai modifié ma boucle :

    1. <BOUCLE_data(DATA){source table,#VAL|test_class5} >
    2. <tr>
    3. <td>#VALEUR</td>
    4. </tr>
    5. </BOUCLE_data>

    Télécharger

    voici ce qui s’affiche :

    074
    8
    Toto

    Mon problème est le suivant : pour la mise en page je ne peux pas mettre les différents résultats de la boucle à des endroits différents dans ma page.

    Comment afficher les infos des lignes indépendamment les unes des autres ?
    Est-ce réalisable ? Faut-il utiliser des filtres ?

    Merci pour votre aide !


  • Bonjour,

    tu peux faire ça au moyen des balises #SET et #GET.
    La boucle servira uniquement à remplir le tableau #SET, et ensuite tu peux afficher ces valeurs n’importe où avec #GET

    1. #SET{valeurs, #ARRAY}
    2. BOUCLE_data(DATA){source table,#VAL|test_class5} >
    3. #SET{valeurs,#GET{valeurs}|push{#VALEUR}}
    4. </BOUCLE_data>
    5.  
    6. <!-- plus loin -->
    7. [(#GET{valeurs/1})]
    8.  
    9. <!-- encore plus loin -->
    10. [(#GET{valeurs/2})]
    11.  
    12. etc.

    Télécharger




Répondre à la question

« Boucle data afficher résultat tableau »

Mots-clés

Vous pouvez étiqueter cette page de forum avec les mots-clés qui vous semblent les plus appropriés ; ils permettront aux prochains visiteurs du site de mieux se repérer :


Installation, mise à jour

Utilisation de l’espace privé

Administration, gestion, configuration du site

Créer ses squelettes

Qui êtes-vous ?

  • SPIP ecommerce

    par lotirim
    20:12

    Résolu - Réponse(s) : 7

    Bonjour, je ne suis pas treees forte en programmation, hélas, mais j’espère comprendre votre demande correctement, et donc, voilà un lien vers le site que j’aime (...)

  • Exécution de #SET dans une boucle

    par Z_spip
    26 juin 23:22

    Réponse(s) : 3

    Bonsoir bonsoir, Si ça pet aider à comprendre le souci, mes essais sont là : http://www.routedesstages.lautre.net/cn/spip.php?rubrique3 La couleur de la puce et de la flèche "lire la suite" de (...)

  • fichier langue et code html

    par placido
    26 juin 15:24

    Résolu - Réponse(s) : 4

    Les fichiers de langue se trouvent dans un dossier lang/ dans les différents répertoires qui composent le chemin (path) de SPIP. Lire cette documentation et les pages suivantes pour plus (...)

  • inclure du PHP dans un squelette qui fonctionne sans recalcul de la page

    par philippe
    25 juin 23:59

    Pas de réponse

    Bonjour Sur le site que je programme, les futurs rédacteurs ont la possibilité de changer les arrière-plans CSS en chargeant des images. J’ai fait une fonction php stockée dans mes_fonctions.php qui (...)

  • #TITRE + du texte en dur

    par Chrys
    25 juin 16:21

    Résolu - Réponse(s) : 2

    Merci Fa_b, j’ai opté pour ta seconde proposition. Elle fonctionne très bien, et c’est une condition que je trouve plus simple a lire. Merci

  • Récupérer toutes les valeurs d'un champ select multiple CVT dans un array

    par orava
    24 juin 12:02

    Résolu - Réponse(s) : 1

    Okay je me sens bête (on va mettre ça sur le compte de la canicule qui a frit mon cerveau) Bref je mets la soluce là pour ceux que ça intéresse, il suffisait tout bêtement de rajouter des crochets à (...)

  • Problème de sitemap avec SPIP 3

    par benolaos
    23 juin 07:33

    Résolu - Réponse(s) : 22

    Il semble que finalement le sitemap.xml fonctionne, mais ne s’affiche pas comme avant (peut-être dû à une feuille de style...). Désolé pour le bruit.

  • pb spip/spipr et test robots google

    par Didine
    22 juin 10:50

    Résolu - Réponse(s) : 6

    J’ai testé une première fois et j’ai vidé le cache de spip et ça fonctionne maintenant :) Merci beaucoup pour ton aide.

  • boucle DATA et filtrage avec un critère optionnel

    21 juin 17:48

    Pas de réponse

    Bonjour, je tente d’afficher des données récupérées avec la boucle data. J’aimerais utiliser le filtrage avec un critère optionnel passé en paramètre comme ceci par exemple : <BOUCLE_exemple(DATA) (...)

  • Rubriques

    18 juin 08:26

    Réponse(s) : 4

    Bonjour, J’ai mis du temps à te répondre j’ai fais plusieurs essais et je n’y arrive pas, pour les patronymes c’est bon j’utilise une sous rubrique dans la rubrique "généalogie" mais pour un article (...)

  • Messages : 29283
  • 8190 43 %
  • Poser une nouvelle question