Vous n'êtes pas identifié(e).
Pages :: 1
Hello tout le monde,
J'ai un soucis et cela fait 2 jours que je recherche des solutions mais rien y fait.
Voici mon soucis :
foreach ( $liste as $value ) {
$links[$value] = '<a class="imag" href=agenda.php?var='.$value.'>'.$value.' <span style="background-color:#FFF;width: 350px;">'.$data["NomMeeting"].'<br>Lieu: '.$data["Lieu"].'</span></a>';
echo $value;
}
}}
En effet après avoir récupérer mes 3 date dans la base de données, je fais un foreach afin de les afficher dans mon calendrier. Cepedant, je n'arrive pas à un résultat concluant. Dans mon écho $value, j'obtiens : 13 13 17 13 17 25.
Alors que normalement je devrais avoir 13, 17, 25
Est-ce quelqu'un aurait une idée?
Merci et bonne soirée,
Linkman
Dernière modification par linkman (08-05-2012 16:44:01)
Hors ligne
Hey !
D'abord, je voudrais savoir à quoi sert le substr ? Si le champ DateDebut est une date alors il y a des traitements plus apropriés pour récupérer le mois que le substr (en utilisant des traitements sur le type date).
C'est par là que je commencerais
Hors ligne
J'ai changé les substr par des explode mais toujours le même résultat
Dernière modification par linkman (08-05-2012 17:32:53)
Hors ligne
Bon, tout d'abord, on ne va pas relancer les hostilités intergalactiques.
Quand tu auras remplacé ton * par des noms de colonnes, voire YEAR, MONTH et DAY sur la colonne DateDebut, on y verra plus clair.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour
WHERE MONTH(DateDebut)="05"
On veut bien t'aider, mais faut quand même faire l'effort de réfléchir ne serait-ce qu'un peu à ce que l'on ecrit, et si tu fais semblant, fait en sorte qu'on ne le voye pas
Blague à part, un
est quand même plus correct. Ensuite vu ton code PHP, il faut supprimer la ligne 8 et ecrire dans ta requete
Ceci ne doit pas t'exempter de suivre les autres recommendations faites ici.
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Merci beaucoup, c'est la première fois que j'utilise MONTH().
J'ai effectivement changé dans mon code mais suis vraiment désolé mais je ne comprend toujours pas pourquoi mon foreach passe plusieurs fois (trop) ???
merci
Hors ligne
Ton foreach va boucler autant de fois que ton tableau $liste a de lignes. Donc si ton foreach te sort des lignes en plus, c'est que ta requête est fausse tout simplement. Commence par là pour résoudre tes problèmes.
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Ok, pourtant dans mon while il passe 3x.
Est-ce possible que mon foreach se cumule au fur et a mesure d'ou mes nombreux résultat?
Hors ligne
J'ai réindenté ton bout de script pour le rendre plus lisible, et $liste n'y est jamais réinitialisé.
Donc l'affectation en ligne 9 ajoute à chaque fois une dimension à ton array sans supprimer les précédentes.
Mais, de toutes façons ton code est bien trop laxiste.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci pour avoir réinventé le code. Le problème c'est que si je vide mon $liste je n'ai qu'une date et c'est la dernière dans le mois qui apparait.
Actuellement, les dates sont bien affiché dans mon calendrier, mais les données liées à la date qui s'affichent corresponde toujours à la dernière date traitée du mois.
Hors ligne
Ô, je ne l'ai malheureusement pas réinventé (dans ce cas je pense très imodestement que tu ne le reconnaitrais plus) je l'ai juste ré-inDenté.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Il ne faut pas confondre un for each et une simple boucle.
Je vous suggère de nous montrer un code corrigé de toutes les remarques que l'on a pu vous faire, juste pour y voir plus clair d'une part et pour voir si vous avez bien tout compris d'autre part.
Cordialement,
Jc.
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Voici ou j'en suis:
Ma requête dans le foreach est correct, je passe 3 fois dans celui-ci et j'obtiens ceci :
Lorsque les dates s'affichent sur mon calendrier je ne vois toujours que la dernière (25 mai 2012).
Dernière modification par linkman (08-05-2012 19:17:09)
Hors ligne
C'est bien ce qui me semblait, vous n'avez pas compris et donc pas appliqué tout ce que l'on a pu vous dire.
De façon a vous expliquer de la meilleure façon possible, que comprenez vous dans votre code?
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Oups le vrai code est celui là me suis planté de code:
print_r($links);
Calendrier($m, $a, $links);
Hors ligne
OMG, j'ai enfin trouvé la solution:
print_r($links);
Calendrier($m, $a, $links);
Enfin !!!!!
Merci beaucoup à tous, cela fait plaisir d'avoir de l'aide quand on est vraiment perdu
Hors ligne
Bien de rien c'est déjà mieux, mais il y a encore beaucoup à dire sur ce code, car visiblement vous n'épargnez pas vos serveurs... En effet si votre tableau $liste contient 50 dates vous faites 51 requêtes à votre SGBDR alors que vous pourriez n'en faire qu'une seule et diviser ce code au moins par deux.
++
Dernière modification par Jc (08-05-2012 19:36:26)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Je vois, hélas, que tu persistes avec ton SELECT *.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
D'accord merci du conseil. Il est vrai que je met toujours des SELECT * alors que je devrais juste spécifier les cellules dont j'ai besoin.
Je vais voir pour optimiser le code.
Hors ligne
Pages :: 1