{PHP/MySQL] requete qui plante

Bonjour,

voici la page de mon site qui merde.... http://www.orchestre-megaboys.fr/dates.php

et voici le code qui extrait les infos de la BDD et qui affiche le resultat.

$requete = mysql_query("SELECT id_dates, MONTH(time) AS 'mois', YEAR(time) AS 'annee', Jour_lundi, Type_de_soirée, Lieu, renseignement, GROUP_CONCAT(time SEPARATOR ',') AS 'date'
FROM dates
GROUP BY mois");
 
while( $resultat = mysql_fetch_array($requete) ) {

if ($resultat['mois'] == "01")
{
$Mois="janvier";
}
elseif ($resultat['mois'] == "02")
{
$Mois= "février";
}
elseif ($resultat['mois'] == "03")
{
$Mois= "mars";
}
elseif ($resultat['mois'] == "04")
{
$Mois= "avril";
}
elseif ($resultat['mois'] == "05")
{
$Mois= "mai";
}
elseif ($resultat['mois'] == "06")
{
$Mois= "juin";
}
elseif ($resultat['mois'] == "07")
{
$Mois= "juillet";
}
elseif ($resultat['mois'] == "08")
{
$Mois= "août";
}
elseif ($resultat['mois'] == "09")
{
$Mois= "séptembre";
}
elseif ($resultat['mois'] == "10")
{
$Mois= "octobre";
}
elseif ($resultat['mois']== "11")
{
$Mois= "novembre";
}
elseif ($resultat['mois'] == "12")
{
$Mois= "décembre";
}

?>
<tr><td colspan=5 height=7></td></tr>
<?
echo "<tr><td colspan=5 bgcolor='#BE3B13'><font color=#FFFFFF><b>".$Mois. " " . $resultat['annee']. "</td></tr>";
 
$mesdate = explode(',' , $resultat['date']);

	foreach($mesdate as $madate)
	{
	
		$requete2 = mysql_query("SELECT * FROM dates WHERE time = $madate");
		$resultat2 = mysql_fetch_array($requete2);
		echo "<tr><td><b>".$resultat2['Jour_lundi']." ".$madate. "</b></td>";
		echo "<td><b>".$resultat2['Type_de_soirée']."</b></td><td>".$resultat2['Lieu']."</td><td>".$resultat2['renseignement']."</td><td>".$resultat2['Heure']."</td></tr>";
		
	}

}


Ca plante au niveau du foreach lorsque j'insere $madate dans la requete2

6 réponses

  1. Hello.

    Je vois que c'est trié correctement. Tu as donc réussi ?

    1. Dans ta première requete, après "GROUP BY mois" mets "ORDER BY date ASC"

      Ca te trie par date.

      Tu peux trier par plusieurs critères : ORDER BY a, b, c ASC
      Le ASC siginifie ascendant, il est facultatif. Pour trier dans l'autre sens, mets DESC
      1. aucun changement
      2. @jacksonen fait si je fais

        ORDER BY date GROUP BY mois ca merde

        et si je fais

        GROUP BY mois ORDER BY date c'est comme si je faisais juste GROUP BY mois

        HELP
    2. :-) Bonne continuation
      1. dernier souci, regarde sur le site, les date ne sont pas classé dans le bon ordre t as une idée?
    3. tu avias peut-être inversé les quotes et doubles quotes.
      On fait tous ce genre d'erreur, surtout à une heure aussi tardive.

      1. oui surement, mais maintenant je n'ai pas l'heure qui s'affiche faut jregarde....
    4. Mets : $requete2 = mysql_query("SELECT * FROM dates WHERE time = '" . $madate . "' ");

      1. bizare il me semblai avoir essayé toute sorte de truc comme ca, il me semblait avoir deja essayé. D'habitude je ne fait pas ce genre de faute, quoi qu'il en soit, merci de ton aide...
    5. Le champ time existe bien dans ta table date ?

      sinon pour ta requete mets : mysql_query(requete) or die (mysql_error());
      il te sortira un message d'erreur parlant sur l'exécution de la requete.

      1. oui biensur, le champ time existe c'est un datetime
      2. @jacksonj'ai fait ce que tu m'a dit va voir sur le site....
      3. @jacksonle near 20:00:00 correspond à l'heure 20h00min00sec qui se trouve dans $madate