Parcourir les données d'une table

Petit nouveau ! | 2 Messages

08 déc. 2015, 11:15

Bonjour,

J'ai une table "calendrier" dans laquelle j'ai 4 colonnes :
Jour | mois | année | Type de période

Par exemple
01 | 01 | 2016 | BS : qui signifie que le 1er janvier 2016 correspond à une période de basse saison
et ainsi de suite pour chaque combinaison de jour-mois-année.

Je souhaiterais afficher cette table sous la forme :
Janvier
01 | 02 | 03 | 04 | ... | 31

février
01 | 02 | ...

et ainsi de suite pour chaque mois (une ligne par mois et une colonne par jour en gros).

Mais je n'arrive pas à faire la bonne boucle pour afficher le résultat souhaité.

J'ai essayé un premier for pour parcourir les mois puis un autre for pour chaque mois pour parcourir les jours mais je n'ai pas le résultat que je voudrais :
for($dataaffcalend['mois']=1;$dataaffcalend['mois']<=12;$dataaffcalend['mois']++)
{
echo 'Calendrier du '.$dataaffcalend['min'].' au '.$dataaffcalend['max'].'/'.$dataaffcalend['mois'].'/'.$dataaffcalend['annee'];
echo '<br />';

echo '<table border = "1">';
echo '<tr>';

for($dataaffcalend['jour']=1;$dataaffcalend['jour']<=$dataaffcalend['nbjour'];$dataaffcalend['jour']++)
{
echo '<td class="'.$dataaffcalend['type'].'">'.$dataaffcalend['jour'].'</td>';
}
echo '</tr>';
echo '</table>';
}

Est-ce que quelqu'un pourrait me mettre sur la piste ?

Merci beaucoup d'avance :-)

Mammouth du PHP | 1967 Messages

08 déc. 2015, 11:38

Je ne ferais qu'une seule boucle,
avant cette boucle je définirai une variable $mois à -1 (aucun mois ne correspond à -1 c'est justement ce qu'il faut)
en début de boucle, je teste si le mois de ma ligne correspond à ma variable mois, si ce n'est pas le cas j'affiche le code avec le nom du mois
puis j'enregistre le mois de la ligne dans la variable $mois. Ainsi je n'afficherai l'entête du mois qu'une fois par mois.
puis j'affiche le jour.

si tu veux utiliser un tableau, libre à toi mais j'utiliserai plutot du CSS avec des balises titre et p
en cas de tableaux, j'afficherai dans ma condition de nouveau mois une autre condition pour détecter le premier mois afin de ne pas mettre la fermeture du tableau précédent. Et ne pas oublier de fermer le dernier tableau après la boucle.

Et si ce n'est pas déjà fait, classer les lignes par ordre croissant dans la requète
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Petit nouveau ! | 2 Messages

08 déc. 2015, 11:47

C'est vrai que je suis partie sur un tableau mais finalement, en te lisant, ce serait mieux avec du CSS.
Pour l'ordre dans la requête, ce sera effectivement mieux merci ;-).

Je vais essayer tout ça.
Merci beaucoup.