FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » [php et mysql] problème avec mysql_fetch_array
 

[php et mysql] problème avec mysql_fetch_array

Il y a 273 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici



Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [php et mysql] problème avec mysql_fetch_array
 
Plus d'informations

bonsoir,
je développe actuelement un site internet comportant un agenda en php. Son fnctionnement est simple: quand l'internaute clique sur une date , il est automatiquement redirrigé vers une page contenant les infos de l'évennement. Les infos sont chargées en fonction de l'id de l'évennement. Théoriquement je devrais récuperer les infos grace à $ligne=mysql_fetch_array mais aucunne donnée ne saffiche. Je ne comprend pas ou est l'erreur d'autant que j'ai déja utilisé cette fonction plusieurs fois sans problème :cry:
voici le code:
module de l'agenda:

Code :
  1. <?php
  2. /*******************AGENDA************************/
  3. //include_once ("fonctions.inc.php" );
  4.  
  5.   // Création d'un tableau contenant les 12 mois de l'année.
  6.     $mois = array(
  7.         "1"=>"Janvier",
  8.         "2"=>"Février",
  9.         "3"=>"Mars",
  10.         "4"=>"Avril",
  11.         "5"=>"Mai",
  12.         "6"=>"Juin",
  13.         "7"=>"Juillet",
  14.         "8"=>"Août",
  15.         "9"=>"Septembre",
  16.         "10"=>"Octobre",
  17.         "11"=>"Novembre",
  18.         "12"=>"Décembre" );
  19.     $today_day = date("j" ); // Jour du mois sans les zéros initiaux (1 - 31)
  20.     $today_mont = date("n" ); // Mois sans les zéros initiaux (1 - 12)
  21.     $today_year = date("Y" ); // Année sur 4 chiffres (Exemples : 1999 et 2003)
  22.  
  23.     // On envoie une requête au serveur pour avoir les évènement du mois.
  24.     $query = mysql_query('SELECT * FROM agenda WHERE mois='.$today_mont.' AND annee='.$today_year);
  25.         // on crée un boucle qui passe chaque résultat obtenu un a un...
  26.         while ($champs = mysql_fetch_array ($query)) {
  27.             // On crée un tableau qui contient le jour de l'évènement comme nom et son ID comme valeur...
  28.             $evenement[$champs['jour']] = $champs['id'];
  29.         }
  30.     // mktime renvoie le nombre de seconde depuis le 1er Janvier 1970
  31.     // mktime(heure, minute, second, mois, jour, année));
  32.     $mo = mktime(0, 0, 0, $today_mont, 01, $today_year);
  33.     // w : Jour de la semaine au format numérique (0 (pour dimanche) à 6 (pour samedi))
  34.     $first = date("w","$mo" );
  35.   // t : Nombre de jours dans le mois (28 - 31)
  36.     $last = date("t","$mo" );
  37.     // On donne la valeur 0 a la variable j qui nous servira plus tard.
  38.     $j = 0;
  39. ?>



page de réception de l'évennement (l'agenda est aussi présent sur cette page):

Code :
  1. <?php
  2. require_once ('connection.inc.php');
  3. include_once('module_agenda.inc.php');
  4. $req="SELECT * FROM agenda WHERE jour = '$today_day' AND mois ='$today_mont' AND annee = '$today_year'";
  5. $result = mysql_query($req);
  6. //echo "<br>".$result;//renvoie ressource id#5
  7. $ligne = mysql_fetch_array($result);//pb avec le tableau
  8. //echo "<br> nom= ".$ligne['nom'];
  9. ?>
  10. <body>
  11. <div id="conteneur">
  12.     <div id="head"><?php include ("header.inc.php" ); ?></div>
  13.     <div id="center">
  14.         <div id="gauche">
  15.             <div id="nav">
  16.                 <div class="margehaut"></div>
  17.                 <div id="nav">
  18.                           <?php echo '
  19.         <table id="agenda">
  20.             <!--- Rangé pour écrire le nom du mois et l\'année. --->
  21.             <tr><td colspan="7" class="line">' . $mois[$today_mont] . ' (' . $today_year . ')</td></tr>
  22.             <!--- Rangé pour les jours de la semaine... --->
  23.             <tr class="line">
  24.                 <td class="case" align="center">D</td>
  25.                 <td class="case" align="center">L</td>
  26.                 <td class="case" align="center">M</td>
  27.                 <td class="case" align="center">M</td>
  28.                 <td class="case" align="center">J</td>
  29.                 <td class="case" align="center">V</td>
  30.                 <td class="case" align="center">S</td>
  31.             </tr>
  32.     ';
  33.         // Création d'une boucle qui se répète pour les 6 rangée des semaines...
  34.         for ($s=1; $s<=6; $s++) {
  35.             // Cration d'une rangée...
  36.             echo '<tr class="line">';
  37.             // Pour chaque rangée, on créé 7 cellules (0 - 6)
  38.                 for ($x=0; $x<=6; $x++) {
  39.                     // Numéro de la cellule (0 - 42)
  40.                     $day = (($s-1)*7)+($x);
  41.                         // Si $j existe ou n'est pas null ($j > 0) on lui ajoute 1.
  42.                         if (!empty($j)) {$j = $j + 1;}
  43.                         // Si le numéro de la cellule est égale au premier jour du mois...
  44.                         // On assigne 1 à la variable $j.
  45.                         if ($day == $first) {$j = 1;}
  46.                         // Si $j est plus grand que 0 et plus petit ou égale au dernier jour du mois...
  47.                         if (($j > 0) and ($j <= $last)) {
  48.                                 // Si $j est égale au jour actuelle, on colorie la case de ce jour (class="today" )...
  49.                                 if ($j == $today_day) {
  50.                                         // Si un évènement est daté pour ce jour...
  51.                                         if (!empty($evenement[$j])) {
  52.                                             // On écrit le lien pour aller sur la page des évènement...
  53.                                             echo '<td class="case2"><a href="evenement.php?id='.$evenement[$j].'"><strong>' . $j . '</strong></a></td>';
  54.                                         // Sinon
  55.                                         } else {
  56.                                             // On écrit seulement le jour.
  57.                                             echo '<td class="case2">' . $j . '</td>';
  58.                                         }
  59.                                 // Sinon, on ne colorie pas la case ( class="day" )...
  60.                                 } else {
  61.                                         // Si un évènement est daté pour ce jour...
  62.                                         if (!empty($evenement[$j])) {
  63.                                             // On écrit le lien pour aller sur la page des évènement...
  64.                                             echo '<td class="case"><a href="evenement.php?id='.$evenement[$j].'"><strong>' . $j . '</strong></a></td>';
  65.                                         // Sinon
  66.                                         } else {
  67.                                             // On écrit seulement le jour.
  68.                                             echo '<td class="case">' . $j . '</td>';
  69.                                         }
  70.                                 }
  71.                         // Sinon, on ne met rien dans la case...
  72.                         } else {
  73.                             echo '<td class="case"></td>';
  74.                         }
  75.                 }
  76.             // On referme les rangées.
  77.             echo '</tr>';
  78.         }
  79.     // On ferme le tableau.
  80.     echo '</table>';
  81. ?>
  82.                     <div id="recherche">
  83.                         <div id="search"> <?php include ("recherche_form.inc.php" ); ?> </div>
  84.                     </div>
  85.                     <div id="zic">
  86.                 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=
  87.                     "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="122" height="33" title="player">
  88.                   <param name="movie" value="my_playermini2.swf" />
  89.                   <param name="quality" value="high" />
  90.                   <PARAM name="AUTOPLAY" VALUE="true">
  91.                   <PARAM name="LOOP" VALUE="true">
  92.                   <embed src="my_playermini2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type=
  93.                   "application/x-shockwave-flash" autoplay="true" loop="true" controller="true"
  94.                   width="122" height="33"></embed>
  95.                 </object>
  96.                     </div>
  97.                 </div>
  98.             </div>
  99.             <div id="margegauche"></div>
  100.             <div class="filet"></div>
  101.         </div>
  102.         <div id="milieu">
  103.                 <div class="titre"><?php $ligne['nom'] ?></div>
  104.                 <div class="infos">
  105.                     <p><?php echo $ligne['description']; ?></p>
  106.                     <p>Date: <?php echo $ligne['jour']." ".$ligne['mois']." ".$ligne['annee']; ?></p>
  107.                     <p>Lieu: <?php echo $ligne['lieu']; ?></p>
  108.                 </div>
  109.             <div id="flyer"><img src="<?php echo $ligne ['photo']?>"</div>
  110.             <div id="page">AGENDA</div>
  111.         </div>
  112.         <div id="droite">
  113.             <div class="filet"></div>
  114.             <div id="arrows">
  115.                 <div class="margehaut"></div>
  116.                 <div class="arrow"><img src="img/fleche_up.gif"/></div>
  117.                 <div id="middlearrow"></div>
  118.                 <div class="arrow"><img src="img/fleche_down.gif" /></div>
  119.             </div>
  120.             <div id="margedroite"></div>
  121.         </div>
  122.     </div>
  123.     <div id="foot"><?php include ("footer.inc.php" );?></div>
  124. </div>
  125. </body>




(désolé pour ce code un peu long :ange: ). Voila merci à tous ceux qui se pencheront sur le problème

Je me la pête
Profil : /!\ Docteur - PDG
Plus d'informations

A mon avis, le problème de comment tu stockes ta date dans MySQL. Elle est sous quelle forme ? 3 colonnes de format int contenant une le jour, une le moi et une l'année ? Si ce n'est pas ça ta requête n'est pas correcte...


---------------
.: La Pipicy Team :love: :.
Plus d'informations

effectivement la date du jour n'est pas stockée avec int mais avec varchar, en 3 colonnes. Mais en quoi cela affecte -t-il ma requette?

Je me la pête
Profil : /!\ Docteur - PDG
Plus d'informations

Dans ce cas là, il faut mettre des guillemets dans ta requêtes, car Varchar n'est pas un nombre, mais une chaîne de caractères et toi tu demandes dans ta requête la recherche d'un nombre.

Une version qui devrait marcher :

Code :
  1. $query = mysql_query('SELECT * FROM agenda WHERE mois="'.$today_mont.'" AND annee="'.$today_year.'"');


---------------
.: La Pipicy Team :love: :.
Plus d'informations

merci pour ton aide maintenant ca marche!


  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » [php et mysql] problème avec mysql_fetch_array

Aller à :
 

Annonces Google
Publicité
Offres partenaires
Actualités relatives

Mises à jour payante pour MySQL

Publié le 18 July 2006

Alors que la version 5.0 de SGBD vient de sortir MySQL annonce ne plus vouloir proposer des mises à jour gratuites pour les versions antérieures, dès le début du mois d’août, ce qui se comprend puisqu’il lui est préférable de concentrer ses forces sur le Lire la suite

HP vous aide à utiliser MySQL

Publié le 27 April 2006

MySQL vient de se trouver un nouveau partenaire en la personne de HP qui devrait proposer, dès juin, des abonnements MySQL Network et devrait même offrir à ses clients un support technique incluant conseil et solutions pour l’int Lire la suite

MySql aura son forum français

Publié le 06 September 2005

MySQL France vient de lancer un forum spécialement dédié aux développeurs de la communauté Open Source francophone se servant de MySQL. Ce forum, mis en place sur le portail iFRANCE.com, a été d&eacu Lire la suite

MySQL passe en version 4, notre forum suit

Publié le 19 March 2003

MySQL, le célèbre système de base de données, vient tout juste de passer en version 4.0.12 finale, marquant ainsi le pas du 3.x vers le 4.x. Les nouveautés sont très nombreuses mais pour résumer, on peut remarquer : Amélioration du support de l'Inn Lire la suite

Les derniers tests

Que choisir ? Home Cinema 5.1 ou projecteur de son ?

Publié le 25 September 2008

Faut-il craquer pour un ensemble 5.1 ou pour une barre de son ? Découvrez les forces et faiblesses comparées de chaque système. Lire la suite

Intel Core i7 (Nehalem) : une architecture signée AMD ?

Publié le 25 September 2008

Avec ses nouveaux processeurs Core i7, Intel fait évoluer les Core 2 en reprenant leur architecture, mais en lui rajoutant des technologies dont la plupart semblent avoir leur équivalent direct chez AMD. Impression ou réalité ? Lire la suite

Test du Nokia N96 : la vie sans écran tactile

Publié le 24 September 2008

Un téléphone haut de gamme peut il échapper à l'écran tactile ? Nokia a tenté le pari avec le N96. Lire la suite

Les nouveaux disques durs 1 To

Publié le 22 September 2008

Un an et demi après l'introduction du premier disque dur 1 To, les prix ont beaucoup diminué et de nouveaux modèles ont été lancés. Mais comment se comportent-ils entre eux et par rapport aux anciens ? Réponse dans ce comparatif. Lire la suite