|
|
|
|
Bonjour à tous,
je débute dans le PHP et j'ai un problème qui pour vous ne doit pas être bien hallucinant donc après avoir fait plusieurs recherches je me lance :-)
Je voudrais pouvoir créer dynamiquement un tableau où l'administrateur décide du nombre de colonne et de lignes, puis entre lui même les titres des colonnes et des lignes, puis ensuite le contenu des cases.
Par exemple, imaginez un tableau de prix avec les dates en titre de colonnes, les options en titre de lignes et les prix dnas chaque case...
Ma solution serait de faire 3 pages.
1. on demande le nombre de colonnes et de lignes;
2. on crée un tableau avec les paramètres demandés, grâce à une boucle for() contenant dans chaque case une case de texte à remplir, puis un bouton 'Envoyer' pour valider le contenu et la forme du tableau;
3. on traite les infos données par le formulaire du 2. et on génère le tableau demandée toujours grâce à for().
Or je bloque à l'étape 2 avec la boucle for() et l'imbriquage des TR et TD...
J'ai un peu honte car je pensais plus en galérer vers l'étape 3 ;-)
Merci d'avance pour votre aide.
Gregg
PS : J'ai biensur essayer d'éplucher au max les "Discussions Similaires" ;-)
Bjr
<html>
<body>
<?php
function generer_tableau($col,$lig)
{
$cr = "\n";
// Initialise un nouveau tableau avec le code HTML requis : balise <table>
$tableau = '<table border="1">'.$cr;
for ($l = 0; $l < $lig ; $l++)
{
// Initialise une nouvelle ligne avec le code HTML requis : balise <tr>
$ligne = '<tr>';
for ($c = 0; $c < $col ; $c++)
{
// Ajoute la colonne dans la ligne avec le code HTML requis : balise <td> .... </td>
$ligne .= '<td>Lig '.$l.'-Col '.$c.'</td>';
}
// Ferme la ligne avec le code HTML requis : balise </tr>
$ligne .= '</tr>'.$cr;
// Ajoute la ligne au tableau
$tableau .= $ligne;
}
// Ferme le tableau avec le code HTML requis : balise </table>
$tableau .= '</table>'.$cr;
return $tableau;
}
// Récuperer le code HTML du tableau dans une variable
$tableau = generer_tableau(10,20);
// Afficher ce tableau ce qui l'ajoute à la page
echo $tableau;
?>
</body>
</html>
Je pense avoir mis suffisamment d'explications. Le fonction generer_tableau() attend en paramètres le nombre de colonnes et le nombre de lignes Elle retourne une chaîne contenant le code HTML nécessaire au tableau. Nota : Ecrire $ligne .= '</tr>'.$cr; (attention au point devant le signe égal ) Revient au même que $ligne = $ligne.'</tr>'.$cr; (plus de point devant = !!!) $cr : permet d'ajouter des sauts de lignes dans le code pour le rendre plus propre lorsque tu visualises le code source de la page : il ne sert pas au code HTML proprement dit. PhP |
Re-bonjour, I'm back ;-)
|
Bonjour tout le monde!!
|
dans ma table j'ai les infos Lig1-Col1, Lig1-Col2, Lig2-Col1, etc...
|