[php] problème au niveau de ma requete SQL
Résolu
maudus
Messages postés
41
Statut
Membre
-
maudus Messages postés 41 Statut Membre -
maudus Messages postés 41 Statut Membre -
Bonjour à tous,
Je suis débutante en php et pour le site internet que je suis en train de créer, j'ai trouvé un script sur internet qui permet de créer un petit calendrier qui affiche les évènements contenus dans ma base de données. J'ai donc adapté le code à mon site, qui se divise en 4 pages distinctes :
- agenda.php qui affiche le calendrier
- calendar.php qui est le script du calendrier
- connexion.php pour la connexion à la bdd
- event.php qui affiche les évènements quand on clique sur les différentes dates.
Quand je fais le test en local mon calendrier s'affiche bien mais quand je veux afficher un évènement, il me met le message d'erreur suivant :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\*******\event.php on line 22
Si vous pouviez m'aider à trouver ce qui ne va pas ce serait super car ça fait plusieurs jours que je suis dessus et je sèche complètement... Merci d'avance pour votre aide
je vous donne donc le code de event.php :
et également le code de calendar.php :
Je suis débutante en php et pour le site internet que je suis en train de créer, j'ai trouvé un script sur internet qui permet de créer un petit calendrier qui affiche les évènements contenus dans ma base de données. J'ai donc adapté le code à mon site, qui se divise en 4 pages distinctes :
- agenda.php qui affiche le calendrier
- calendar.php qui est le script du calendrier
- connexion.php pour la connexion à la bdd
- event.php qui affiche les évènements quand on clique sur les différentes dates.
Quand je fais le test en local mon calendrier s'affiche bien mais quand je veux afficher un évènement, il me met le message d'erreur suivant :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\*******\event.php on line 22
Si vous pouviez m'aider à trouver ce qui ne va pas ce serait super car ça fait plusieurs jours que je suis dessus et je sèche complètement... Merci d'avance pour votre aide
je vous donne donc le code de event.php :
<?php
include ("connexion.php");
function mysql_date_fr($champ)
{
$annee=substr($champ,0,4);
$mois=substr($champ,5,2);
$jour=substr($champ,8,2);
return $jour."-".$mois."-".$annee;
}
$ref_event = $_GET["ref"];
$result = mysql_query("SELECT * FROM events where idevent=\"$ref_event\" ");
while ($val = mysql_fetch_array($result))
{
$idevent = $val["idevent"];
$date_event = mysql_date_fr($val["date_event"]);
$desc_event = $val["desc_event"];
echo "le <b class=\"title2\">".$date_event."</b><br /><br />";
echo "<p class=\"text4\">".$desc_event."</p>";
}
?>
et également le code de calendar.php :
<?php
include ("connexion.php");
function mysql_date($champ)
{
$annee=substr($champ,0,4);
$mois=substr($champ,5,2);
$jour=substr($champ,8,2);
return $jour;
}
function premier_jour_du_mois($mois,$annee)
{
$intPremierJour = date("w",mktime(0,0,0,$mois,1,$annee));
if($intPremierJour == 0) $intPremierJour = 7; // si c'est un dimanche
return $intPremierJour-1;
}
function nbjour($m,$a)
{
if(($a%4)==0)
{
$fev=29;
}
else
{
$fev=28;
}
$mois = array(0,31,$fev,31,30,31,30,31,31,30,31,30,31);
for($x=1;$x<13;$x++)
{
if($m == $x)
{
return $mois[$x];
}
}
}
function lister_table()
{
$table="events";
$dates = array();
$query = "SELECT * FROM $table";
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{
$date_event =mysql_date($val["date_event"]);
echo $date_event;
}
}
function afficheMois($mois, $annee)
{
$tab = getdate();
$jourc = $tab["mday"];
$anneec = $tab["year"];
$moisc = $tab["mon"];
$labelMois = array(" ","Janvier", "Février", "Mars", "Avril",
"Mai", "Juin", "Juillet", "Août", "Septembre",
"Octobre", "Novembre", "Décembre");
$labelJour = array("Lu.","Ma.","Me.","Je.","Ve.","Sa.","Di.");
$nbJours=nbjour($mois,$annee);
$css = "text";
echo "<table border=0>\n";
$mp=$mois+1;
$mm=$mois-1;
$ap=$annee+1;
$am=$annee-1;
$acp=$annee;
$acm=$annee;
if($mp==13)
{
$mp=1;
$acp=$acp+1;
if($acp==2038)
{
$acp=1980;
}
}
if($mm==0)
{
$mm=12;
$acm=$acm-1;
if($acm<1980)
{
$acm=2037;
}
}
if($ap>2037){$ap=1980;}
if($am<1980){$am=2037;}
echo "<tr>".
//modifier les liens ci-dessous avec votre chemin
"<td colspan=\"4\" class=\"$css\"><a href=\"http://localhost/54agauche/agenda.php?mois=$mm&annee=$acm\"><img src=\"images/arrow_left.gif\" border=\"0\">".
"</a> $labelMois[$mois] <a href=\"http://localhost/54agauche/agenda.php?mois=$mp&annee=$acp\"><img src=\"images/arrow_right.gif\" border=\"0\"></a></td>";
echo "<td colspan=\"3\" align=\"right\" class=\"$css\"><a href=\"http://localhost/54agauche/agenda.php?mois=$mois&annee=$am\"><img src=\"images/arrow_left.gif\" border=\"0\"> ".
"</a>$annee<a href=\"http://localhost/54agauche/agenda.php?mois=$mois&annee=$ap\"> <img src=\"images/arrow_right.gif\" border=\"0\"></a> </td></tr>";
echo "<tr>";
for ($i = 0; $i < 7; $i++) {
echo "<td class=\"$css\">$labelJour[$i]</td>";
}
echo "</tr>\n";
echo "<tr>";
for ($i = 0; $i < premier_jour_du_mois($mois,$annee); $i++)
{
echo "<td></td>";
}
/********************************/
for ($i = 1; $i <= $nbJours; $i++)
{
if (($i-1 + premier_jour_du_mois($mois,$annee)) % 7 == 0)
{
echo "</tr>\n<tr>";// Retour à la ligne chaque Lundi
}
if(($i-1==$jourc-1)&&($annee==$anneec)&&($mois==$moisc))
{
$cssClass = "datejour";
$htmltext = "<td align=\"right\" class=\"$cssClass\">$i</td>";
}
else
{
$cssClass = "date";
$htmltext = "<td align=\"right\" class=\"$cssClass\">$i</td>";
}
/*****************/
$debut_mois = date("Y-m-d", mktime(0,0,0,$mois,1,$annee));
$fin_mois = date("Y-m-d", mktime(0,0,0,$mois,$nbJours,$annee));
$query = "SELECT *FROM events where date_event >='$debut_mois' and date_event <='$fin_mois' ORDER BY date_event";
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{
$date_event = mysql_date($val["date_event"]);
$idevent = $val["idevent"];
if($i==$date_event)
{
$cssClass = "date_event";
$htmltext = "<td align=\"right\" class=\"$cssClass\"><a href=event.php?ref=$idevent\" class=\"lien\" title=\"date événement\">$i</a></td>";
}
}
echo $htmltext;
}
/******************************/
echo "</tr>";
echo "</table>";
}
?>
A voir également:
- [php] problème au niveau de ma requete SQL
- Easy php - Télécharger - Divers Web & Internet
- Clé de mise à niveau windows 7 gratuit - Guide
- Mise a niveau windows 7 vers 10 - Accueil - Mise à jour
- Expert php pinterest - Télécharger - Langages
- 4 images 1 mot niveau 10 chaperon rouge ✓ - Forum Jeux vidéo
4 réponses
Salut,
Il est probable que ta requete n'est pas bonne
ajoute un affichage de l'erreur :
Cela devrait te renseigner.
ec
Il est probable que ta requete n'est pas bonne
ajoute un affichage de l'erreur :
$result = mysql_query("SELECT * FROM events where idevent=\"$ref_event\" ");
echo mysql_error();
while ($val = mysql_fetch_array($result))
Cela devrait te renseigner.
ec
j'ai fait ce que tu m'a dit et voilà l'erreur affichée :
Erreur de syntaxe près de '"38""' à la ligne 1
(sachant que 38 est la l'identifiant de l'évènement sur lequel j'ai cliqué)
donc ca ne m'avance pas beaucoup...
Erreur de syntaxe près de '"38""' à la ligne 1
(sachant que 38 est la l'identifiant de l'évènement sur lequel j'ai cliqué)
donc ca ne m'avance pas beaucoup...