Problème du boucle while en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème du boucle while en PHP

Re: Problème du boucle while en PHP

par Mazarini » 11 août 2011, 14:45

Bonjour,

Il faudrait faire :
select eventday, eventmonth, eventyear, count(*) from event where stat = 0 groupe by eventday, eventmonth, eventyear
Tu auras ainsi la date et le nombre en une seul requete.

Dans ton cas tu compte le nombre d'enregistrement pour chaque enregistrement, d'ou l'utilité du group by

Problème du boucle while en PHP

par sampleroro » 11 août 2011, 11:39

Bonjour,

Voilà je met en place un calendrier d'évènement et je bloque sur l'affichage des nombres d'évènement par date et par mois.
le but c'est d'afficher le nombre d'evenement par date. J'arrive bien à les affiché mais en nombre multiple a cause de "while".

exemple :
pour la date du 9 Aôut j'ai deux events et le code m'affiche : nb event = 2 nb event = 2
pour la date du 20 Aôut j'ai quatre events et le code m'affiche : nb event = 4 nb event = 4 nb event = 4 nb event = 4
pour la date du 8 Aôut j'ai qu'un seul event et le code m'affiche : nb event = 1


Ma question c'est comment n'affiché qu'une seule fois mon résultat. sans l'enlever dans la boucle?

ci-dessous mon code :

Code : Tout sélectionner

$nbt = mysql_query("SELECT * FROM calendar_events WHERE stat=0"); while($devent = mysql_fetch_array($nbt)) { $nbt2 = mysql_query("SELECT nb FROM calendar_events WHERE stat=0 AND event_day=".$devent["event_day"]." AND event_month=".$devent["event_month"].""); $Fnbt = mysql_num_rows($nbt2); $event = $calendar->event() ->condition('month', $devent["event_month"]) ->condition('day', $devent["event_day"]) ->title('Tâches à faire') ->output($Fnbt) //nombre d'event ->add_class('custom-event-class'); // affichage de l'event dans le calendrier $calendar->attach($event); }



Merci de votre aide. :)