Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Afficher données d'une base interbase dans un template

Posted by guens on 09/23/2008 16:41

Bonjour Un petit coup de main serait le bienvenu. Je lit des donnés dans une base interbase et j'aimerai pouvoir les afficher via un template.

voici le code du contrôleur

    public function article(){
    $server = '192.168.10.250';
	$user = 'XXX';
	$pass = 'XXX'; 
	//$dbgti = $server.':/home/gti/gti.fdb';
	$dbgti = $server.':e:\program files\interbase\bin\gti.gdb';
    		
    	//include "include/config_fb.php";
    $db_fb = ibase_connect($dbgti, $user, $pass);
    $req_pmics ="SELECT 
				  ARTICLE.ARKTCODART,
				  ARTICLE.ARKTCOMART,
				  ARTICLE.ARCTLIB01,
				  ARTICLE.ARCTLIB02
				FROM
				  ARTICLE
				WHERE
				  (ARTICLE.ARKTSOC = 100)";
	$respmics = ibase_query($db_fb, $req_pmics);
    	
    $rep = $this->getResponse('html');
    
    // Le titre dans la page est en fonction de l'action.
    $rep->body->assign('page_title','Les tutors : Liste article  PMICS');
    // Le contenu du template 3
    $rep->body->assignzone('content', 'tutors~contenu', array('tpl'=>'article'));
    $i = 0;
    while ($row = ibase_fetch_object($respmics)) 
    {
    	$codeart[$i] = $row->ARKTCODART;
    	$comart[$i] = $row->ARKTCOMART;
    	$lib[$i++] = $row->ARKTLIB01.' '.$row->ARKTLIB02; 		
    }
    $rep->body->assign('codeart',$codeart);
    $rep->body->assign('comart',$comart);
    $rep->body->assign('lib',$lib);
     
    
    // Le message 3 dans mon sidemenu
    $rep->body->assignzone('menu', 'tutors~sommaire',  array('choix'=>'quatre'));
    
    return $rep;
  }  

Je coince pour l'écriture du template

 <h2>Liste des articles PMICS</h2>
 
 <table>
	<tr>
		<th>Code article</th>
		<th>Code Complémentaire</th>
		<th>Libéllé</th>
	</tr>
 
	{foreach $codeart as $art}
		<tr>
			<td>{$art->ARKTCODART}</td>
			<td>{$art->ARKTCOMART}</td>
			<td>{$art->ARKTLIB01}</td>
		</tr>
	{/foreach}
 </table>

Si je pouvais avoir un peu d'aide pour avancer

Merci

Guens

  [Opened] Re: Afficher données d'une base interbase dans un template

Reply #1 Posted by laurentj on 09/23/2008 17:13

Salut,

à priori, ton template tente d'afficher des infos qui n'existent pas. D'après ton template, le tableau codeart contient une serie d'objet. Mais dans le contrôleur, tu n'y met qu'une serie de chaine (tout les champs ARKTCODART)...

bref, va falloir que tu corriges d'un coté ou d'un autre..

Bon sinon, je pense que tu aurais intérêt à faire un plugin pour jDb, pour accéder à ta base interbase... Ça te permettrait d'utiliser les daos et cie... (et tu pourrais proposer ce plugin pour qu'on l'intègre dans jelix)

  [Opened] Re: Afficher données d'une base interbase dans un template

Reply #2 Posted by guens on 09/23/2008 17:41

Heu............ oui l'idée est bonne ça fait 3 jours que je passe sur jelix J'ai réussi le tutorial principal J'ai regardé tutors mais de là à me lancer à faire un plugin ya des kilomètre même si je sens que c'est la solution qui me simplifierais la vie et celle des copains qui souhaitent interroger une base interbase.

Dans un premier temps, pouvez vous me dire ou je peux trouver un exemple d'affichage de tableau à travers le template?

A moins qu'il y ai un autre moyen

$rows correspond à une ligne de la table que puis je en faire via le template?

Merci

Guens

 
Page
  1. Afficher données d'une base interbase dans un template