Instancier une classe PHP5 dans un tableau Multidimensionnel

critters Messages postés 14 Date d'inscription samedi 14 février 2004 Statut Membre Dernière intervention 2 novembre 2005 - 27 oct. 2004 à 12:02
juandy38 Messages postés 3 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 4 novembre 2004 - 4 nov. 2004 à 08:00
Salut tout le monde, dans le cadre d'un stage je dois faire un agenda qui s'alimente directement à partir d'une base de données contenant des interventions
mon probleme principal vient du fait que je n'arrive pas à instancier un nouvel objet dans un tableau

for ($i=0;$i<15;$i++)
{
for ($j=0;$j<36;$j++)
{
$heure=HeureAjout("8:00",0,($j*15));
$jour=dateAjout(DateAnglaise(),$i,0,0)
$matrice[$j][$i]=new creneau($jour, $heure);
}
}

alors au cas où,
HeureAjout calcule une nouvelle heure à partir d'une heure donnée, d'un nombre d'heure à ajouter et d'un nombre de minutes à ajouter
dateAjout(fait la meme chose avec une date, un nb de jour, de mois ou d'année à rajouter)
DateAnglaise() : renvoie la date du jour au format anglais

la classe creneau est juste en dessous...
j'ai fini depuis un moment, il ne me reste plus que cet agenda à faire...
Merci de votre réponse...

Critters
PS : désolé mais je n'arrive pas à mettre le code sur fond grisé...

PPS : voici le code Complet (sans les fonctions, mais les fonctions marchent sans probleme)

<?php include('../../Connections/Style.inc.php'); ?>
<?php require_once('../../Connections/Connect_Serv_Tech.php'); ?>
<?php include_once('../../Connections/fonction.php'); ?>
<?php
class creneau {
public $Num_Interv;
public $Heure;
public $Demandeur;
public $Pole;
public $Nature;
public $Jour;
public $Statut;
public $Priorite;

function creneau($Jour,$Heure){//__construct($Jour,$Heure){
$this->Num_Interv="";
$this->Heure=$Heure;
$this->Demandeur="";
$this->Pole="";
$this->Nature="";
$this->Jour=$Jour;
$this->Statut="";
$this->Priorite="";
}

function SetStatut($Statut) {$this->Statut=$Statut;}
function GetStatut() {return $this->Statut;}

function SetNum_Interv($Num_Interv) {$this->Num_Interv=$Num_Interv;}
function GetNum_Interv() {return $this->Num_Interv;}

//-------------------------//

function SetDemandeur($Demandeur) {$this->Demandeur=$Demandeur;}
function GetDemandeur() {return $this->Demandeur;}

function SetPole($Pole) {$this->Pole=$Pole;}
function GetPole() {return $this->Pole;}

//-------------------------------------//

function SetNature($Nature) {$this->Nature=$Nature;}
function GetNature() {return $this->Nature;}

//-------------------------------------//

function SetPriorite($Priorite) {$this->Priorite=$Priorite;}
function GetPriorite() {return $this->Priorite;}

//-------------------------------------//

function SetJour($Jour) {$this->Jour=$Jour;}
function GetJour() {return $this->Jour;}

function SetHeure($Heure) {$this->Heure=$Heure;}
function GetHeure() {return $this->Heure;}

//-------------------------------------//

function __tostring(){
$chaine = GetStatut()."-".GetNum_Interv."
";
$chaine .= GetDemandeur()."-".GetPole."
";
$chaine .= GetNature()."
";
$chaine .= GetPriorite()."
";
$chaine .= GetJour()." à ".GetHeure."<hr>";
return $chaine;
}
}
?>

<?php
mysql_select_db($database_Connect_Serv_Tech, $Connect_Serv_Tech);
$query_rsPriseCompte = "SELECT * FROM interventions WHERE interventions.Statut='O' AND interventions.PriseCompte != 'Null' OR interventions.Statut='F' AND interventions.Fermeture = NOW() ORDER BY interventions.PriseCompte";
$rsPriseCompte = mysql_query($query_rsPriseCompte, $Connect_Serv_Tech) or die(mysql_error());
$row_rsPriseCompte = mysql_fetch_assoc($rsPriseCompte);
$totalRows_rsPriseCompte = mysql_num_rows($rsPriseCompte);
$ligne=-1;$colonne=0;

for ($i=0;$i<15;$i++)
{ for ($j=0;$j<36;$j++)
{
$heure=HeureAjout("8:00",0,($j*15));
$jour=dateAjout(DateAnglaise(),$i,0,0)
$matrice[$j][$i]=new creneau($jour, $heure);
}
}

do{
$ligne++;
if ($ligne>35) {$ligne=0;$colonne++;}
if ($colonne<15){
$matrice[$ligne][$colonne] ->SetStatut($row_rsPriseCompte['Statut']);
$matrice[$ligne][$colonne] ->SetNum_Interv($row_rsPriseCompte['Num_Interv']);
$matrice[$ligne][$colonne] ->SetDemandeur($row_rsPriseCompte['Demandeur']);
$matrice[$ligne][$colonne] ->SetPole($row_rsPriseCompte['Pole']);
$matrice[$ligne][$colonne] ->SetNature($row_rsPriseCompte['Nature']);
if ($row_rsPriseCompte['Priorite']==1)
{$matrice[$ligne][$colonne] ->SetPriorite("*Urgent*");}
elseif ($row_rsPriseCompte['Priorite']==2)
{$matrice[$ligne][$colonne] ->SetPriorite("Pressé");}
else {$matrice[$ligne][$colonne] ->SetPriorite("Normal");}

}
while($row_rsPriseCompte=mysql_fetch_array($rsPriseCompte))
?>

<?php mysql_free_result($rsPriseCompte);?>

<?php
for ($i=0;$i<15;$i++)
{ for ($j=0;$j<36;$j++)
{
echo htmlentities($matrice[$j][$i]->__tostring());;
}
}
?>

2 réponses

critters Messages postés 14 Date d'inscription samedi 14 février 2004 Statut Membre Dernière intervention 2 novembre 2005
27 oct. 2004 à 12:24
Bon, après un bon café, j'ai trouvé... c'était des erreurs stupides...
la preuve
un manque de ; ou }
un exces de ;;
j'ai honte... sorry
on devrait rajouter ca dans le reglement : ne pas poster sans avoir pris un bon café...
maintenant tout marche...
si ce code interesse quelqu'un je l'enverrai!
Ja'!
Critters
0
juandy38 Messages postés 3 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 4 novembre 2004
4 nov. 2004 à 08:00
Je suis interessé par ton code
Merci d'avance
0
Rejoignez-nous