{PHP/MySQL] requete qui plante

Fermé
jackson - 29 mars 2008 à 01:01
neojick Messages postés 167 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 30 mars 2009 - 30 mars 2008 à 17:40
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
A voir également:

6 réponses

neojick Messages postés 167 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 30 mars 2009 99
29 mars 2008 à 01:11
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.


0
oui biensur, le champ time existe c'est un datetime
0
jackson > jackson
29 mars 2008 à 01:15
j'ai fait ce que tu m'a dit va voir sur le site....
0
jackson > jackson
29 mars 2008 à 01:18
le near 20:00:00 correspond à l'heure 20h00min00sec qui se trouve dans $madate
0
neojick Messages postés 167 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 30 mars 2009 99
29 mars 2008 à 01:20
Mets : $requete2 = mysql_query("SELECT * FROM dates WHERE time = '" . $madate . "' ");

0
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...
0
neojick Messages postés 167 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 30 mars 2009 99
29 mars 2008 à 01:25
tu avias peut-être inversé les quotes et doubles quotes.
On fait tous ce genre d'erreur, surtout à une heure aussi tardive.

0
oui surement, mais maintenant je n'ai pas l'heure qui s'affiche faut jregarde....
0
jackson > jackson
29 mars 2008 à 01:29
Voila tout est ok encore merci
0
neojick Messages postés 167 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 30 mars 2009 99
29 mars 2008 à 01:32
:-) Bonne continuation
0
dernier souci, regarde sur le site, les date ne sont pas classé dans le bon ordre t as une idée?
0
jackson > jackson
29 mars 2008 à 09:26
up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
neojick Messages postés 167 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 30 mars 2009 99
29 mars 2008 à 11:59
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
0
aucun changement
0
jackson > jackson
30 mars 2008 à 00:43
en 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
0
jackson > jackson
30 mars 2008 à 11:58
up
0
neojick Messages postés 167 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 30 mars 2009 99
30 mars 2008 à 17:40
Hello.

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

0