[RESOLU] mois et datas alternés

Eléphant du PHP | 258 Messages

29 juil. 2013, 21:16

Bonjour

Je sollicite votre aide car j'ai du mal à comprendre comment est construit le code en php
j'aimerais faire une liste d’événements sous la forme d'un tableau html et php en dynamique depuis la base de données
ça, je sais le faire. heureusement
MAIS pour afficher d'abord un mois puis les événements, puis un autre mois, je me bloque... surtout en php avec les données dynamiques

auriez-vous des idées? des exemples ?

voici l'exemple
<table class="table table-hover">
	<tr>
		<th colspan="7" style="background:#425064;color:#FFF;">Septembre 2013</th>
	</tr>
	<tr>
		<td><b>14.09.13</td>
		<td><b>19:30</td>
		<td>Football</td>
		<td>1ère division Nord</td>
		<td>J1</td>
		<td><a href="voir_match.html">CSSMP PARIS - ASLS NANCY</a></td>
		<td>4 - 0</td>
	</tr>
	<tr>
		<td><b>21.09.13</td>
		<td><b>19:30</td>
		<td>Football</td>
		<td>1ère division Nord</td>
		<td>J1</td>
		<td><a href="voir_match.html">CSSMP PARIS - ASLS NANCY</a></td>
		<td>4 - 0</td>
	</tr>
	<tr>
		<th colspan="7" style="background:#425064;color:#FFF;">Octobre 2013</th>
	</tr>
	<tr>
		<td><b>14.10.13</td>
		<td><b>19:30</td>
		<td>Football</td>
		<td>1ère division Nord</td>
		<td>J1</td>
		<td><a href="voir_match.html">CSSMP PARIS - ASLS NANCY</a></td>
		<td>4 - 0</td>
	</tr>
	<tr>
		<td><b>21.10.13</td>
		<td><b>19:30</td>
		<td>Football</td>
		<td>1ère division Nord</td>
		<td>J1</td>
		<td><a href="voir_match.html">CSSMP PARIS - ASLS NANCY</a></td>
		<td>4 - 0</td>
	</tr>							
</table>

Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 96 Messages

29 juil. 2013, 21:37

Deux solutions:
1. trier la requête SQL
2. faire une première boucle où vous indexez les données par mois..., puis boucler sur ce nouveau tableau pour afficher les évènements groupés
Le mkframework, un framework simple et sécurisé: http://mkdevs.com

Eléphant du PHP | 258 Messages

29 juil. 2013, 22:12

euh
je crois comprendre
il y a un exemple en php tout simple???
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 96 Messages

29 juil. 2013, 22:26

Exemple tout simple
Soit une table contenant 3 champs: date, evenement et texte
$result= mysql_query('SELECT * from table');
if($result){
 while($row=mysql_fetch_assoc($result)){
  $tIndexed[$row['date'] ][ $row['evenement'] ][]=$row['texte'];
 }

}
Ensuite boucle sur ce tableau indexé
d'abord sur le premier indice, puis sur le second
Le mkframework, un framework simple et sécurisé: http://mkdevs.com

Eléphant du PHP | 258 Messages

30 juil. 2013, 09:08

bonjour

c'est tout?
rien à rajouter dans ce code?

merci beaucoup

Eléphant du PHP | 96 Messages

30 juil. 2013, 09:31

Je vous ai mis à premiere partie du code, la seconde c'est de boucler sur le tableau indexé ainsi construit

Foreach dans un foreach ;)
Le mkframework, un framework simple et sécurisé: http://mkdevs.com

Eléphant du PHP | 258 Messages

27 août 2013, 13:35

bonjour

excuse moi de n'avoir pas répondu car j'étais parti en vacances.

me revoilà.
J'ai pas bien saisi
pourriez vous me déposer un simple code?
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 96 Messages

27 août 2013, 15:10

Dans un premier temps, vous remplisser un tableau indexé

Code : Tout sélectionner

$tIndexed[$row['date'] ][ $row['evenement'] ][]=$row['texte']; 
Il suffit ensuite de boucler sur chaque colonne

Code : Tout sélectionner

foreach($tIndexed as $sDate => $tIndexedDate){   foreach($tIndexedDate as $sEvenement => $tIndexedEvenement){     foreach($tIndexedEvenement as $sTexte){       print $sDate.' '.$sEvenement.' '.$sTexte.' <br />';     }   } }  
Le mkframework, un framework simple et sécurisé: http://mkdevs.com

Eléphant du PHP | 258 Messages

27 août 2013, 16:04

merci imikado

d'après ton code, j'ai un peu bidouillé rapidement pour voir ce que cela donne
     $dateQuery = mysql_query("SELECT matches.id, date_debut, date_fin, matches.score, sports.title AS sport, clubs1.title AS recevant, clubs2.title AS visiteur, competitions.title AS competition, matches.description, sexes.title AS sexe
    FROM matches
	INNER JOIN sexes ON sexes.id = matches.sexe_id
    INNER JOIN sports ON sports.id = matches.sport_id
    INNER JOIN clubs AS clubs1 ON clubs1.id = matches.recevant_id
    INNER JOIN clubs AS clubs2 ON clubs2.id = matches.visiteur_id
    INNER JOIN competitions ON competitions.id = matches.competition_id
        WHERE CURRENT_DATE()<=date_debut
        ORDER BY date_debut ASC") or die(mysql_error());

while($row=mysql_fetch_assoc($dateQuery)){
   print $tIndexed[$row['date_debut'] ][ $row['sport'] ][]=date("d-m-Y",strtotime($row['date_debut'])).'<br />';
  foreach($tIndexed as $sDate => $tIndexedDate){

  foreach($tIndexedDate as $sEvenement => $tIndexedEvenement){

    foreach($tIndexedEvenement as $sTexte){
        $sTexte = $row['recevant'].'-'.$row['visiteur'];
      print date("H:i",strtotime($row['date_debut'])).' | ' .$row['sport'].' | '.$row['competition'].' | '.$sTexte.' <br />';
    }

  }

}
 }
résultat:
il génère des doublons à chaque ligne donc ce n'est pas bon ....
14-09-2013
14:30 | Football | Championnat de France | IOS ORLEANS-CSSM PARIS
14-09-2013
19:30 | Football | Championnat de France | CSSM PARIS-ASLS NANCY
19:30 | Football | Championnat de France | CSSM PARIS-ASLS NANCY
21-09-2013
15:00 | Football | Championnat de France | CSS RENNES-CSSM PARIS
15:00 | Football | Championnat de France | CSS RENNES-CSSM PARIS
15:00 | Football | Championnat de France | CSS RENNES-CSSM PARIS
28-09-2013
19:30 | Football | Championnat de France | CSSM PARIS-CSS RENNES
19:30 | Football | Championnat de France | CSSM PARIS-CSS RENNES
19:30 | Football | Championnat de France | CSSM PARIS-CSS RENNES
19:30 | Football | Championnat de France | CSSM PARIS-CSS RENNES
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 96 Messages

27 août 2013, 17:00

vous avez oublié la première partie qui consiste à indexer :(
Le mkframework, un framework simple et sécurisé: http://mkdevs.com

Eléphant du PHP | 258 Messages

27 août 2013, 17:55

Ah bon?
Je pensais l'avoir fait ....
Je ne comprend pas trop bien
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 96 Messages

27 août 2013, 19:16

Ce que je dis c'est de faire dans votre boucle while la création du tableau indexé, puis de faire les foreach sur ce tableau :)

Ici vous faites une seule boucle while dans lequel vous faites un foreach :(
Le mkframework, un framework simple et sécurisé: http://mkdevs.com

Eléphant du PHP | 258 Messages

19 sept. 2013, 16:12

je ferme pour cause d'absence d'informations
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 96 Messages

19 sept. 2013, 16:50

La dernière réponse est la mienne, vous avez pu résoudre le problème ?
Le mkframework, un framework simple et sécurisé: http://mkdevs.com