PHP Foreach loop skriver kun sidste element

Tags:    php foreach

<< < 12 > >>
Hej

Jeg prøver at lave en kalender i PHP.

Jeg har fundet en Class som er en visuel kalender hvor man kan bladre i månederne. Den er ikke så funktionel, men det er det jeg prøver at gøre noget ved.

Mit Problem:

Jeg vil gerne tjekke om den dag for loopet der udskriver dagene, er lig med en key i mit assosiative array.

Men pt kan den kun udskrive det sidste element i mit array.

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 18.07.2015 23:20 af Bruger #21207
11 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 17 karma
Sorter efter stemmer Sorter efter dato
Jeg flyttet den anden "$dag" variable, ud af "Foreach". Hvis der ikke er data i variablen. Får variablen dataen der.

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 19.07.2015 00:20 af Bruger #10878
Nu har jeg haft det gennem min testserver. Jeg kan ikke duplikere fejlen.
Er det muligt at jeg kan se siden(Eventuelt sende adresse i PB) eller kildekode?



Nedenstående kode, skal flyttes ud af Foreach løkken.
Fold kodeboks ind/udPHP kode 

Ligesom jeg har gjort her
Fold kodeboks ind/udPHP kode 





Det er fordi, hver gang "Foreach" bliver kørt, bliver variablen "$dag" overskrevet med nye data. Jeg har ændret, men ikke testet, i koden nedenfor.

Ændringer:
1. "$dag" bliver sat som tom variable før "Foreach".
2. Der er sat "." før "=", hvor "$dag" bliver sat. Dette skulle gerne, lægge de nye data efter de gamle. Så de gamle ikke bliver overskrevet.
3. I slutningen af data til "$dag", har jeg skrevet "\n". Dette skulle gerne få kildekoden, til at være nemmere at læse.

Fold kodeboks ind/udPHP kode 




hvad indeholder $cellContent



$cellContent indeholder det tal for den dag mit forloop er nået til på måneden.

Fold kodeboks ind/udPHP kode 




Nu skriver den alle 3 ud, men desværre skriver den alle tal ud 3 gange så.
[eventToday class]

1 1 [1] 2 2 [2] 3 3 [3] 4 4 4 5 5 5 6 6 6 7 7 7...

Så det virker at den løber alle elementer i array'et igennem, men gentager dem 3 gang pga det er så mange elementer der er i arrayet, og de bliver lagt sammen som du tilføjede med $dag .= KODE..

Har du andre gode ideer? :D



Nu dublikere den kun 2 og 3.. hmm

Så den hedder [1] 2 [2] 3 [3] 4 5 6...

Så det har hjulpet på dublikeringen af alle de andre tal, men 2 og 3 opfører sig stadig underligt.



Hele PHP koden: (linje 126 og frem, er foreachen)

Fold kodeboks ind/udPHP kode 


Og php koden på Index siden:
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 19.07.2015 01:36 af Bruger #21207
Flyt $dag ud af foreach'en - Hver gang loopet bliver kørt, så overskriver du den.



<< < 12 > >>
t