{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. 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
  2. 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...
  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. :-) Bonne continuation
    1. dernier souci, regarde sur le site, les date ne sont pas classé dans le bon ordre t as une idée?
  5. 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
  6. Hello.

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