[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 : 24004 Sujets résolus :  39 %

38 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 ?

  • Utilisation de Bootstrap pour afficher des articles SPIP

    par Lucie
    01:26

    Réponse(s) : 1

    Re-bonjour, Bon, je parviens à faire figurer les articles sur plusieurs colonnes et rangées en incluant du code bootstrap avec le code suivant : <div class="row"> <div (...)

  • Logo en image de fond

    par rezki
    24 avril 13:23

    Réponse(s) : 2

    Merci beaucoup. Je teste ça.

  • Insertion logo et document espace public

    par Teenoo
    21 avril 10:16

    Pas de réponse

    Bonjour, je suis coincée depuis plusieurs mois avec un problème. J’ai créé un site intranet avec création d’articles, insertion de docs, agenda, forum... depuis l’espace publique. Seulement, les (...)

  • filtre parametre_url et formulaire

    par Didine
    21 avril 07:02

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

    Bonjour, finalement ça fonctionne parfaitement avec le filtre |affdate Merci à tous.

  • Template html5up-strongly-typed à la sauce SPIP

    par b_b
    20 avril 20:12

    Réponse(s) : 2

    Super, et merci d’avance pour le partage de ta contribution sur la zone :)

  • Formulaire et appel de fonction

    par Didine
    20 avril 18:01

    Pas de réponse

    Bonjour, j’ai ajouté un formulaire sur ma page qui me permet de faire un tri dans mes locations. Depuis ce formulaire je dois tester si la date sélectionnée correspond bien un samedi. Comment (...)

  • le critère tout n'a aucun effet sur ma boucle rubrique

    par erational
    18 avril 10:07

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

    bon je passe donc en résolu

  • Comment modifier un menu ?

    par JBBJ
    13 avril 01:33

    Réponse(s) : 13

    Sinon, vous avez une idée comment faire pour ajouter un lien vers le blog directement dans le menu ? J’ai regardé pendant une heure mais je n’ai rien trouvé sur le forum :( Merci (...)

  • LIKE ne passe pas

    par brain_damage
    11 avril 19:04

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

    Salut, Que ça passe dans l’url ou en ajax c’est la même chose : il s’agit d’une requête GET ou POST. Les variables #ENVid_rubrique #ENVid_mot sont implicites pour les critère id_mot? id_rubrique? Je (...)

  • Plugin Galleria bug sur la page sommaire

    par clémentb
    8 avril 12:44

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

    Oui, pardon en effet. Je ne l’ai pas dis parceque j’ai décidé de ne pas utiliser le plugin Galleria sur ma page sommaire mais un autre script de galerie jquery que j’ai adapté à ma sauce.. il s’agit (...)

  • Messages : 29181
  • 8166 43 %
  • Poser une nouvelle question