Foreach requete SQL
Résolu
Angelneonizz
Messages postés
820
Statut
Membre
-
Angelneonizz Messages postés 820 Statut Membre -
Angelneonizz Messages postés 820 Statut Membre -
Bonjour,
j'aimerais votre avis.
J'ai une base de donnée où des parcours sont enregistrés avec une date pour chacun d'eux.
voici la page actuelle :
http://www.rollver.fr/parcours-php-2/
le problème est que pour le moment mon code est trés basic et je fait ma requête pour chaque mois.
se qui me gène c'est le regroupement par mois.
voici le code que j'ai pour chaque mois :
j'aimerais faire un code plus propre et où je n'aurais pas besoin de répéter ce code pour chaque mois.
j'ai pensé à faire :
et faire ma requête jusqu'à se que le tableau soit vide mais je ne vois pas comment le traduire en php.
je pense que finalement ça ne doit pas être compliqué mais j'ai du mal.
Si quelqu'un veut bien m'aider un peu.
d'avance merci
Il n'y a pas de défaite si on sais en tirer des leçons !
j'aimerais votre avis.
J'ai une base de donnée où des parcours sont enregistrés avec une date pour chacun d'eux.
voici la page actuelle :
http://www.rollver.fr/parcours-php-2/
le problème est que pour le moment mon code est trés basic et je fait ma requête pour chaque mois.
se qui me gène c'est le regroupement par mois.
voici le code que j'ai pour chaque mois :
<h2 style="text-align: center;"><span style="text-decoration: underline;color: #69F;"><a href="javascript:toggleVisibility('mars')">Le mois de mars</span> :<img src="wp-content/themes/rollver_v3/images/down.gif"></a></h2></p>
<div id="mars" style="visibility: hidden; display: none;">
<table width="80%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr bgcolor="#000000">
<td width="70%"><div align="center">Nom</div></td>
<td width="15%"><div align="center">Distance</div></td>
<td width="15%"><div align="center">Date</div></td>
</tr>
<?php
$i = 1;
// Transforme une date US en FR
function date_fr($date){
return eregi_replace("([0-9]{4})-([0-9]{2})-([0-9]{2})","\\3-\\2-\\1",$date);
}
$sql = 'SELECT * FROM ma_table WHERE month(date)=03 order by date';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
$id = $data['id'];
$nom = $data['nom'];
$kml = $data['kml'];
$km = $data['km'];
$url = $data['url'];
$date_db = $data['date'];
$date = date_fr($date_db);
$i++;
if($i%2){
$bg = "#000000";
}else{
$bg = "#333333";
}
?>
<tr bgcolor="<?php echo $bg; ?>">
<td><a href="<?php echo $kml; ?>" target="map"><?php echo $nom; ?></a><br /><a href="<?php echo $url;?>" target="_blank">Vue pleine page</a></div></td>
<td><div align="center"><?php echo $km; ?> Km</div></td>
<td><div align="center"><?php echo $date; ?></div></td>
</tr>
<?php
}
?>
</table>
</div><!--- fin du mois de Mars -->
j'aimerais faire un code plus propre et où je n'aurais pas besoin de répéter ce code pour chaque mois.
j'ai pensé à faire :
$array = array( 'Mars' => '03', 'Avril' => '04', 'Mai' => '05'....); foreach( $array as $key => $value )
et faire ma requête jusqu'à se que le tableau soit vide mais je ne vois pas comment le traduire en php.
je pense que finalement ça ne doit pas être compliqué mais j'ai du mal.
Si quelqu'un veut bien m'aider un peu.
d'avance merci
Il n'y a pas de défaite si on sais en tirer des leçons !
A voir également:
- Foreach requete SQL
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Sql (+) - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices