no save
Assistance
Achat
News

Forum | webmastering
Fonction afficher un tableau en php
LiLou LiLa, le mar. 10 juin 2008 à 09:01:08
Bonjour,
je suis en train de travailler sur un intranet dans lequel plusieurs fonctions sont utilisés.Il avait eté commencé lannée derniere par une autre stagiaire et jai du reecrire une de ces fonctions
mes pages :

dans fichereparation.php (appel fonction)
<? //Requête sélection des travaux de la fiche

$sql="SELECT Id_DR,Observation_DR,Libellecourt_TRE
FROM DETAIL_REPARATION,TYPE_REPARATION_ET_ENTRETIEN,REPARATION_ET_ENTRETIEN
WHERE DETAIL_REPARATION.Id_TRE=TYPE_REPARATION_ET_ENTRETIEN.Id_TRE
AND DETAIL_REPARATION.Id_RE=REPARATION_ET_ENTRETIEN.Id_RE
AND REPARATION_ET_ENTRETIEN.Id_RE='".$_SESSION['ID']."'
ORDER BY Id_DR";

$resultat = resultat($sql,$Connexion);

//Requête liste de tout les types pour la liste déroulante
$sqlliste="SELECT Id_TRE,Libellecourt_TRE
FROM TYPE_REPARATION_ET_ENTRETIEN";
$resultatliste=resultat($sqlliste,$Connexion);

//Affiche le tableau/appel fonction
$tab1=array("observation","observation","modifiable",0,"","","");
$tab2=array("type","","liste",1,$resultatliste,"","");
$tab3=array("action","checkbox","caseacocher",0,"","","");
echo Tableaumodif2($resultat,$tab1,$tab2,$tab3);

//Affiche les boutons ajouter et supprimer//nouveau code &&($etat=="encours")
if (($mode=="modification")&&($etat=="encours"))
{
echo "<table width=100%><tr><td align=\"right\"><input type=\"submit\" value=\"AJOUTER LIGNE\" name=\"AJOUTT\" class=\"bouton_form2\">";
echo "<input type=\"submit\" value=\"SUPPRIMER LIGNE\" name=\"SUPPRIMT\" class=\"bouton_form2\"></td></tr></table><p>";
}
?>

et ma fonction : (toutes sont enregistrés dans un fichier fonction.php)

function Tableaumodif2()
{
//parametres en entree : (tableau de données,tableau de conf par colonne )
//tableau de données = $resultat , tableau de conf par colonne = tab par colonne
//tab=array(nom/titre colonne,class css,mode affichage,identification colonne,resultat requete menu deroulant,valeur defaut,id defaut)

$NbArgs=func_num_args();
$Tableau=func_get_args();

//tableau de données
$resultat=$Tableau[0]; //requete affichage du tableau

//boucle affichage du tableau
echo "<table align=\"center\">";
for($i=1;$i<=($NbArgs-1);$i++)
echo"<th>".$Tableau[$i][0]."</th>"; //titre colonne

//boucle lignes tableau
while($row =& $resultat->fetchRow())
{
echo "<tr>";
//boucle pour chaque ligne du tableau
for($i=1;$i<=($NbArgs-1);$i++)
{
$conf=$Tableau[$i];
echo"<td align=\"center\">";

if($conf[1]=="")
{
switch ($conf[2])
{

//suivant le mode d'affichage(visible,liste,caseacocher,cachee,modifiable)
case 'visible':
echo $row[$conf[0]];
break;
case 'liste':
echo ListeOption($conf[4],1,$conf[4].$row[$conf[3]],1,$conf[5]);
break;
case 'caseacocher':
echo "<td><input type=\"checkbox\" name=\"".$row[0]."\" value=\"".$row[0]."\" class=\"checkbox\"></td>";
break;
//case 'cachee':
// echo "";
// break;
(je sais pas comment on fait pour faire un affichage cachée encore)
default: //case 'modifiable':
echo "<input type=\"text\" name=\"".$conf[0].$row[$conf[3]]."\">";
break;
}
}
else //suivant la class css ($conf[1])
echo "<input type=\"text\" name=\"".$conf[0].$row[$conf[3]]."\" class=\"".$conf[1]."\">";

echo "</td>";
}
}
echo "</tr></table>";
}



sur le site le tableau est fait, il y a les titres, mais juste la premiere ligne comprend la liste deroulante sur 3 , et je n ai pas de case a cocher pour Action
je pense que c'est par làl que ça doit me planter et ne plus faire apparaitre le reste pour les autres

merci davance pour votre aide precieuse :)Configuration: Linux
Firefox 2.0.0.11


adgem0
juin 08
Suivant
REPONSES
adgem0
juin 08
LiLou LiLa
juin 08
adgem0
juin 08
LiLou LiLa
juin 08
LiLou LiLa
juin 08
LiLou LiLa
juin 08
Version Web
Réalisé par RedShift
no save