et j'ai un soucis dans mon code.
je veux afficher un tableau avec une légende sachant qu'il faut avoir l'entete et la legende du tableau de la base de données.
Ma base de données se compose de 3 tables :
titre ( idtitre,nomtitre,nbrligne,numtitre)
cellule( idcellule, nom_cell )
titre_cellule(titre_idtitre,cellule_idcellule,rang_col)
exemple je veux afficher " A- FORMATION ACADEMIQUE " qui est la légende de mon tableau
ici, numtitre = A
et nomtitre = FORMATION ACADEMIQUE
et nbrligne= c'est le nombre de lignes du tableau
nom_cell c'est le nom de la cellule de l'entete du tableau( exp : diplomes obtenus, annee, etablissement..)
J'ai l'affichage de la legende plusiseurs fois, sachant que je la veux juste une seule fois, je sais pas comment ne pas utiliser la boucle foreach pour ce cas
voila mon code
<?php
class Connexion{
static function Connect(){
$Base= new PDO("mysql:host=localhost;dbname=gestioncv","root","");
$Base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $Base;
}
}
class Model{
function base($titre){
$req = Connexion::Connect()->prepare("SELECT *FROM titre_cellule, titre, cellule
WHERE titre.idtitre = titre_cellule.titre_idtitre AND
cellule.idcellule = titre_cellule.cellule_idcellule AND
titre.idtitre = :titre ");
$req->execute(array('titre' => $titre));
$res = $req->fetchAll();
return $res; //le retour de la fonction est un tableau $res qui contient les données voulus
}
function AjoutTableau($idtitre){
echo '<table border="1" align="center">';
// legende du tableau
foreach ($this->base($idtitre) as $val){
echo '<caption>'.' '.$val['numtitre'].'- '.$val['nomtitre'].' :'.'</caption>';
}
echo '<tr>';
foreach ($this->base($idtitre) as $valeur){ // il fait appel a la methode base($titre);
echo '<td align="center">'.$valeur['nom_cell'].'</td>';
}
echo '</tr>';
$nbrligne = $this->base($idtitre);
for($i=1; $i<= $nbrligne[0]['nbrligne']; $i++ ){
echo '<tr>';
foreach ($this->base($idtitre) as $valeur){
echo '<td>';
echo'<input type="text" size="35" name="textfield" id="textfield">';
// echo 'ddd';
echo '</td>';
}
echo '</tr>';
}
}
}
$c = new Model();
$c->AjoutTableau(1);
?>
Je sais pas comment ne pas utiliser la boucle foreach pour afficher la légende juste une seule fois.S'il vous plait, quelqu'un pourrais t-il m'aider à resoudre mon probleme ? Merci d'avance ^^