27. september 2018 - 15:11 Der er 2 kommentarer

Skift datoer fra Uge N til Uge (N+1)

HEJ

Fra min Server hentede php-side har jeg to Style-opsatte bokse og en SELECT. .

De 2 bokse er sat sammen så det virker som EEN tabel, men indeholder 2 tabeller-  EN fast og en som via en AJAX-funktion hentes fra Serveren. Den faste tabel repræsenterer 7 dage (lodret)  og den anden (den som hentes) har tidsintervaller fra klokken 00:00 -->  23:59 (reelt 00:00) for 7 dage  (8 med klokketider øverst - som overskrift).

Den første boks TABEL1  er 1x * 8y . Anden boks TABEL2 er 24x * 8y felter. Dette arrangement er for at kolonne 1 (= dage)  i TABEL1 må under ingen omstændigheder flyttes (den forbliver frosset på denne måde!), mens den anden må scrolles - afhængig af tidspunktet.

Over denne tabel er en SELECT-boks med 3 valg.  DENNE UGE , NÆSTE UGE og NÆSTE NÆSTE UGE ( ialt 3 valg).

Denne SELECT fyldes vi en PHP-rutine med NUVÆRENDE UGE-nummer og de næste 2 ugers uge-numre. DAGS-kolonnen i tabel1 fyldes via en PHP-rutine fra serveren med MANDAG og nuværende UGE-dato for mandag. Feltet under fyldes med TIRSDAG  og nuværende UGE-dato for Tirsdag ...... Resten af ugedagene fyldes på samme måde. (Man -> Søndag).

Når jeg SKIFTER UGE-nummer i SELECT'EN startes AJAX-rutinen (value-styret), som henter et STYLE-formatteret DATABASE-udtræk for valgte uge fra serveren og lægger dette udtræk ind i tabel 2. De 2 Tabel-felter er nøje styled, således at linierne virker som rette linier.  AJAX-scriptet fungerer optimalt og jeg får data for uge X vist korrekt. Ligeledes for Uge (X+1) og osse for Uge(x+2)

Det eneste som ikke skifter er datoerne i TABEL1.
Jeg må bruge JavaScript eller Jquery (at foretrække), og her trænger jeg noget hjælp.

Kan nogen give mig et hint !  (eller bedre et kode-forslag!)

Kristian

Koden ser sådan ud:




    <table class='pos1' width= 140px; cellpadding='0' cellspacing ='0' border='1'>
        <tbody>
            <TR style='height: 25px;'>
                <TD>&nbsp;</TD>
            </tr>   
            <TR style = "height: 25px;">
                <TD id='klok1'>
                <?php
                    $week_start->setISODate($year,$week_no,1);
                    echo 'Mandag '.$week_start->format('d-M');
                ?>
                </TD>
            </tr>   
            <TR style = "height: 25px;">
                <TD id='klok2'>
                <?php
                    $week_start->setISODate($year,$week_no,2);
                    echo 'Tirsdag '.$week_start->format('d-M');
                ?>
                </TD>
            </tr>   
            <TR style = "height: 25px;">
                <TD id='klok3'>
                <?php
                    $week_start->setISODate($year,$week_no,3);
                    echo 'Onsdag '.$week_start->format('d-M');
                ?>
                </TD>
            </tr>   
            <TR style = "height: 25px;">
                <TD id='klok4'>
                <?php
                    $week_start->setISODate($year,$week_no,4);
                    echo 'Torsdag '.$week_start->format('d-M');
                ?>       
                </TD>
            </tr>   
            <TR style = "height: 25px;">
                <TD id='klok5'>
                <?php
                    $week_start->setISODate($year,$week_no,5);
                    echo 'Fredag '.$week_start->format('d-M');
                ?>       
                </TD>
            </tr>   
            <TR style = "height: 25px;">
                <TD id='klok6'>
                <?php
                    $week_start->setISODate($year,$week_no,6);
                    echo 'Lordag '.$week_start->format('d-M');
                ?>
                </TD>
            </tr>   
            <TR style = "height: 25px;">
                <TD id='klok7'>
                <?php
                    $week_start->setISODate($year,$week_no,7);
                    echo 'Sondag '.$week_start->format('d-M');
                ?>
                </TD>
            </tr>   
        </tbody>
    </table>
Avatar billede HBP2 Praktikant
06. november 2018 - 21:47 #1
Hej .- allerførst, af hensyn til mit blodtryk, kunne du så ikke lave dit PHP eksempel om til en løkke? Du gør det samme 7 gange, det eneste som ændrer sig er ugenummeret, som tæller op fra 1 til 7.

Et forslag til en løsning på dit problem: sørg for at ajax kaldet også returnerer en skjult <div> med den information som skal indsættes i <select>'en. Og brug så jQuery el.lign. til at udtrække informationen og opdatere <select>'en.
06. november 2018 - 23:53 #2
HEJ tak for kommentaren.

Den løkke burde jeg havde opdaget selv. Det er lidt pinligt.

Men nu har du gjort mig opmærksom på dette, og jeg vil da gå koden minutiøst igennem.  Og samtidig benytte mig at den <div .. style = hidden (*  jo jeg ved det ikke er syntaktisk korrekt, men bær over md mig!) du skitserer.

Tak for det hint.

KR
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester