Fork me on GitHub






Boucle & $xoopsTpl->assign
Semi pro
Inscrit: 19/08/2006 03:45
De Paris
Messages: 520
Bonjour, j'ai ajouté une portion de code PHP à un des mes modules pour ensuite l'affiché dans mon template comme ceci :
$xoopsTpl->assign('list'$list);

Mais je n'ai qu'un seul affichage alors que je devrais avoir une liste mon code est dans une boucle While. J'essaye d'afficher une liste de résultat qui est générer par la boucle mais je ne sait pas comment procéder pour la récupérer via $xoopsTpl

Exemple de ce que j'ai fait :
$sql "SELECT * FROM `blablabla` ... "$result $xoopsDB -> query($sql); while (list($id$uid$title$link) = $xoopsDB->fetchRow($result)) { echo '<a href="'.$link.'" target="blank">'.$title.'</a><br />'$xoopsTpl -> assign('list''<a href="'.$link.'" target="blank">'.$title.'</a><br />'); }
Merci.


Posté le : 26/05/2015 08:18

Version Bootstrap
4.5.3
Version font-awesome
5.15.1
Version Xoops
2.5.10
Partager Twitter Partagez cette article sur GG+
Re: Boucle & $xoopsTpl->assign
Aspirant
Inscrit: 11/11/2010 14:56
Messages: 78
append_by_ref
Identique à append, sauf que la donnée est passée par référence (et non par valeur)
Exemple (avec boucle foreach dans le template)



// Dans le code¨Php
while (list($id$name) = $xoopsDB->fetchRow($result)) {
$category = array();
$category['name'] = $name;
$category['id'] = $id;
$sql 'SELECT faq_id, faq_title FROM '.$xoopsDB->prefix('xoops_faq').' WHERE cat_id='.$id;
$result $xoopsDB->query($sql);
while (
$myrow $xoopsDB->fetchArray($result)) {
$category['questions'][] = array('id' => $myrow['faq_id'], 'title' => $myrow['faq_title']);
}
$xoopsTpl->append_by_ref('categories'$category);
unset(
$category);
}

<{* 
Dans le template* }>
<{foreach 
item=question from=$category.questions}>
<{
$question.title}>
<{* ... 
suite du code* }>


plus de detail regarde ici
ou ici

Posté le : 26/05/2015 14:19
Partager Twitter Partagez cette article sur GG+
Re: Boucle & $xoopsTpl->assign
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 960
Code légèrement différent avec append:
$sql 'SELECT * FROM blablabla....';
if (!
$result$xoopsDB->query($sql)) {
    echo 
'Faire quelque chose si resultat nul';
}
else {
    while ( 
$myrow $xoopsDB->fetchArray($result) ) {
        
$tmp_array =array();
        
$tmp_array['id'] = $myrow['id'];
        
$tmp_array['uid'] = $myrow['uid'];
        
$tmp_array['title'] = $myrow['title'];
        
$tmp_array['link'] = $myrow['link'];
        
$xoopsTpl->append('tableau_valeurs'$tmp_array);
    }
    unset(
$tmp_array);
}

Dans le template:
<{foreach item=valeur from=$tableau_valeurs}>
    <
div class="floatleft width20"><{$valeur.id}></div>
    <
div class="floatleft width20"><{$valeur.uid}></div>
    <
div class="floatleft width20"><{$valeur.title}></div>
    <
div class="truncate"><{$valeur.link}></div>
<{/foreach}>


Posté le : 26/05/2015 18:21

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+
Re: Boucle & $xoopsTpl->assign
Semi pro
Inscrit: 19/08/2006 03:45
De Paris
Messages: 520
Merci c'est parfait & j'ai compris le code (@slider84) mais je suis de nouveau confronté au problème mais d'une autre manière, avec un tableau Json.
$url file_get_contents("$url"); $url_data json_decode($urltrue);  foreach ($url_data['items'] as $item) {          echo $item['tata'];          }
Comment je peux afficher tata dans mon template !?
Merki

Posté le : 30/05/2015 05:55

Version Bootstrap
4.5.3
Version font-awesome
5.15.1
Version Xoops
2.5.10
Partager Twitter Partagez cette article sur GG+
Re: Boucle & $xoopsTpl->assign
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 960
Citation :
Comment je peux afficher tata dans mon template !?
Même principe qu'avec la boucle en while

Posté le : 30/05/2015 09:59

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

54 Personne(s) en ligne (38 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 54 | Plus ...