Transmettre tableau entre classes
DAG
-
Othee -
Othee -
Bonjour,
Je suis en train de développer un module pour eGroupware... Pour ceux qui connaissent...
Bref, je commance mal je n'arrive pas à lister le contenu d'une table déjà existante...
Je divise mon développement en trois parties, le model la vue et le controleur.
Il y a trois classes : soproject, boproject, uiproject.
Voici la classe soproject, elle s'occupe de récupérer les données dans la base :
Voici la classe boproject, elle s'occupe de classer les données récupérées (bon là il n'y a pas grand chose à :
Et voici la classe uiproject qui permet l'affichage des données :
C'est dans entre ces deux dernieres classe que je n'arrive pas à faire transiter le tableau des données trouvée dans la bdd.
J'ai un peu de mal avec les tableaux, il me faudrait juste transférer les 3 champs, avec autant d'occurence qu'il y en a dans la base, entre les deux classes afin de les affichées !
Si quelqu'un à une idée !...
Je suis en train de développer un module pour eGroupware... Pour ceux qui connaissent...
Bref, je commance mal je n'arrive pas à lister le contenu d'une table déjà existante...
Je divise mon développement en trois parties, le model la vue et le controleur.
Il y a trois classes : soproject, boproject, uiproject.
Voici la classe soproject, elle s'occupe de récupérer les données dans la base :
class soproject
{
var $db;
function soproject()
{
$this->db = clone($GLOBALS['egw']->db);
}
function listproject()
{
$data = array();
$this->db->query("SELECT pm_id, pm_number FROM egw_pm_projects");
while($this->db->next_record())
{
$data[] = $this->db->Record;
}
return $data;
}
}
Voici la classe boproject, elle s'occupe de classer les données récupérées (bon là il n'y a pas grand chose à :
class boproject
{
var $so;
function boproject()
{
$this->so=&CreateObject('project.soproject');
}
function listproject()
{
$list = array();
$project_names = $this->so->listproject();
foreach ($project_names as $data)
{
$list['pm_id'] = $data['pm_id'];
$list['pm_number'] = $data['pm_number'];
}
return $list;
}
}
Et voici la classe uiproject qui permet l'affichage des données :
class uisuiviTMA
{
var $public_functions = array('call_project'=>True,);
var $bo;
function uiproject()
{
$GLOBALS['egw_info']['flags']['app_header']='project';
$this->bo=&CreateObject('project.boproject');
$this->tmpl=&CreateObject('etemplate.etemplate', 'project.print');
$this->html=&$GLOBALS['egw']->html;
if(!@is_object($GLOBALS['egw']->js))
{
$GLOBALS['egw']->js =& CreateObject('phpgwapi.javascript');
}
}
function call_project($content=null)
{
$projects = $this->bo->listproject();
$content['pm_id']='';
$content['pm_number']='';
$content['pm_title']='';
$content['pm_description']='';
$content['pm_creator']='';
$tpl=new etemplate('suiviTMA.project.print');
$tpl->set_cell_attribute('debuginfos','disabled',!$debug);
$tpl->set_cell_attribute('myhrule','disabled',!$separator);
$tpl->exec('suiviTMA.uisuiviTMA.call_suiviTMA_project_print',$content,$sel_options);
}
}
C'est dans entre ces deux dernieres classe que je n'arrive pas à faire transiter le tableau des données trouvée dans la bdd.
J'ai un peu de mal avec les tableaux, il me faudrait juste transférer les 3 champs, avec autant d'occurence qu'il y en a dans la base, entre les deux classes afin de les affichées !
Si quelqu'un à une idée !...
A voir également:
- Transmettre tableau entre classes
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
1 réponse
Je sais pas si ca résout ton problème mais dans ta liste tu mets juste à jour les champs de $list
$i;
foreach ($project_names as $data)
{
$list[$i]['pm_id'] = $data['pm_id'];
$list[$i]['pm_number'] = $data['pm_number'];
$i++;
}
ca te donnera une liste de projets.
J'utilise pas l'objet eTemplate mais y a pas un moment ou tu dois lui dire que tes données sont dans la variable $projects ?
$i;
foreach ($project_names as $data)
{
$list[$i]['pm_id'] = $data['pm_id'];
$list[$i]['pm_number'] = $data['pm_number'];
$i++;
}
ca te donnera une liste de projets.
J'utilise pas l'objet eTemplate mais y a pas un moment ou tu dois lui dire que tes données sont dans la variable $projects ?