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 :

[ModeliXe] Découpage d'un tableau pour mise en forme


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    [ModeliXe] Découpage d'un tableau pour mise en forme
    Bonjour,

    Je cherche des pistes pour découper des données que je reçoit sous forme d'array pour les insérer dans un template sous une certaine forme...bon l'exemple sera plus parlant

    j'ai un array du style

    Array ( [n0] => descr0 [na0] => lbl0 [nat0] => val0 [n1] => descr1 [na1] => lbl1 [nat1] => val1 [n2] => descr2 [na2] => lbl2 [nat2] => val2)

    et il faudrait que je puisse insérer dans mon template un tableau du style

    Code html :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <table>
    	<tr>
    		<td>descr0</td>
    		<td>lbl0</td>
    		<td>val0</td>
    	</tr>
    	<tr>
    		<td>descr1</td>
    		<td>lbl1</td>
    		<td>val1</td>
    	</tr>
    	<tr>
    		<td>descr2</td>
    		<td>lbl2</td>
    		<td>val2</td>
    	</tr>
    </table>


    si quelqu'un aurait une idée de comment découper l'array...je trouve pas

    Merci de votre aide

  2. #2
    Membre averti
    de ce que je lis, tu découpes ton array par tranche de 3, suffit de faire la même chose avec une boucle le parcourant, si toutefois, ton array garde toujours la même forme

  3. #3
    Membre éclairé
    Ajouter une dimension a ton tableau pourrait simplifier le traitement par la suite :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Array ( 0 => Array ([n] => descr0,
                               [na] => lbl0,
                               [nat] => val0),
              1 => Array ([n] => descr1,
                               [na] => lbl1,
                               [nat] => val1),
              2 => Array ([n] => descr2,
                               [na] => lbl2,
                               [nat] => val2));
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  4. #4
    Membre actif
    Salut !

    En admettant que tu utilises la class template.php

    Code html
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <table>
    <!-- BEGIN matable -->
    	<tr>
    		<td>{DESCR}</td>
    		<td>{LBL}</td>
    		<td>{VAL}</td>
    	</tr>
    <!-- END matable -->
    </table>


    Code php
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    $table = array(); //Ici ton tableau
    $nb = count($table); // Nombre d'éléments du tableau
    $tours = intval($nb/3); //Nombre de tours de la boucle for pour les indices
     
    //Generation du template
    require_once("./templates.php");
    $template = new Template('./templates');
    $template->set_filenames(array(
    		'body'=>'montemplate.tpl'
    	));
     
    //On remplit le bloc "matable"
    for($i=0; $i<$tours; $i++){
            $template->assign_block_vars('montemplate', array(
    	        'DESCR' => $table['descr'.$i],
    	        'LBL'  => $table['lbl'.$i],
    		'VAL'  => $table['val'.$i]
    	    ));
    }


    Voila, j'ai pas testé et je sais pas si ca marche. Mais bon dans le principe ca devrait marcher (y'a de l'idée lol :p).

    J'espère t'avoir aidé. Bon courage !!

  5. #5
    Membre du Club
    cool plein de réponses

    2 soluces et même le code qui va avec !!

    jvais tester tout ça

    Merci