Jump to content
php.lv forumi

knauzers

Reģistrētie lietotāji
  • Posts

    27
  • Joined

  • Last visited

Posts posted by knauzers

  1. 5 hours ago, e-remit said:

    emm.... Nu vispār ideja bija, ka katrai dienai ielasa vērtību, kāda tā ievadīta jau iepriekš. Tas tikai piemērā bija 4 dienas, bet bija jābūt visām dienām tajā mēnesī. Tātad, ja tu ko saglabā DB, tad attēlojamās vērtības iegūst no tās pašas DB.

    Sapratu, bet tomēr - kodā Tu visas vērtības norādi statiski (1 => "A", 2 => "B", 3 => "C", 4 => "D", 5 => "E"), kas īsti neder. Man 1 vērtība visos gadījumos nebūs tikai un vienīgi "A", bet gan ar drop-down izvēlēta. Vai arī es atkal kaut ko nesaprotu... :D

  2. On 4/12/2019 at 11:55 PM, e-remit said:

    Vai pamanīji tai vienā rindiņā komentāru "//Ielasa no DB"?
    Vai tev liekas, ka es to tāpat vien pierakstīju?

    Jā ir izpildāms, ja pareizi uzraksta!

    Jā, redzēju šo komentāru. Ko mēs šajā gadījumā iegūstam, ielasot šīs vērtības no datubāzes?

  3. 17 hours ago, e-remit said:

    Un, kā būtu ar šādu risinājumu?

    
    <?php
    //...
    $dbdata = [1 => "A", 2 => "B", 3 => "C", 4 => "D"]; //Ielasa no DB
    $opts = ["0", "A", "B", "C", "D", "E"];
    for ($day = 1; $day <= $day_count; $day++, $str++) {
        $date = $ym . '-' . $day;
        if ($today == $date) {
            $week .= '<td class="today">' . $day;
        } else {
            $week .= '<td>' . $day;
        }
        $week .= '<br>';
        $week .= '<select name="day_' . $day . '" style="background-color:#01A9DB;">';
        foreach($opts as $opt) {
            $selected = isset($dbdata[$day]) && $dbdata[$day] == $opt ? "selected" : "";
            $label = $opt == "0" ? "..." : $opt;
            $week .= "<option value=\"{$opt}\" {$selected}>{$label}</option>";
        }
        $week .= '</select>';
        $week .= '</td>';
    }
    //...

     

    Kods strādā, bet efekts ir praktiski tas pats. Pirms un pēc submit bilde ir sekojoša:

    image.thumb.png.20600ffb36b9d276781d287de8bb0975.png

    Tas ir, pēc submit nesaglabājas manas drop-down izvēles, bet atgriežas sākotnējās.

    Sāk rasties jautājums, vai tikai ar PHP+HTML šis uzdevums vispār ir izpildāms? :D

  4. 42 minutes ago, e-remit said:

    Viss strādā, kā tu esi uzrakstījis! Sanāk tā, ka tu:
    1) Atver lapu pirmo reizi un visās izvēlnēs ir 0.
    2) 2. datumā izvēlies B un saglabā. Rezultātā DB tev tiek ierakstīts, ka visos datumos ir 0, izņemot 2., kurā ir B.
    3) Pēc pārlādes lapa atveras un visās izvēlnēs atkal ir 0.
    4) 3. datumā izvēlies A un saglabā. DB visos datumos, bet ieskaitot 2. tiek ierakstīts 0, izņemot 3., kurā ir A.
    T.i. tu pats pārraksti 2. datumu ar 0 un brīnies, ka "tabula tiek pārrakstīta".

    Vietā, kur tev tiek sagatavots <select>, pie vajadzīgā option, kurš atbilst DB vērtībai, tev jāieraksta <option value="B" selected>.

    Tev taisnība, diezgan loģisks iznākums! :) Un te mēs atgriežamies pie jautājuma, kuru Tev jautāju kādu laiku iepriekš - kā saglabāt drop-down vērtības, lai pēc Submit tās netiek nonullētas, bet piegalbā un atrāda iepriekš norādīto vērtību..

    Ja domā šādi:

      $week .= '<br>';
        $week .= '<select name="day_' . $day . '" style="background-color:#01A9DB;">';
        $week .= '<option value="0">...</option>';
        $week .= '<option value="A">A</option>';
        $week .= '<option value="B" selected>B</option>';
        $week .= '<option value="C">C</option>';
        $week .= '<option value="D">D</option>';
        $week .= '<option value="E">E</option>';
        $week .= '</select>';
        $week .= '</td>';

    tad tas īsti nederēs. Jo tas, kas ir nepieciešams - lai katrā no tabulas ierakstiem saglabātos iepriekš zem drop-down izvēlēta un pēc tam submit-ota vērtība (teiksim, opcija "E"), nevis statiski iekš koda ar "selected" norādītā vērtība "B". Ceru, ka domu saprati...

  5. 6 minutes ago, e-remit said:

    un, kas tev iekš $weeks?

    // Create Calendar!!
    $weeks = array();
    $week = '';

    // Add empty cell
    $week .= str_repeat('<td></td>', $str);
    for ( $day = 1; $day <= $day_count; $day++, $str++) {
         
        $date = $ym . '-' . $day;
        if ($today == $date) {
            $week .= '<td class="today">' . $day;
        } else {
            $week .= '<td>' . $day;
        }
        $week .= '<br>';
        $week .= '<select name="day_' . $day . '" style="background-color:#01A9DB;">';
        $week .= '<option value="0">...</option>';
        $week .= '<option value="A">A</option>';
        $week .= '<option value="B">B</option>';
        $week .= '<option value="C">C</option>';
        $week .= '<option value="D">D</option>';
        $week .= '<option value="E">E</option>';
        $week .= '</select>';
        $week .= '</td>';

     
        // End of the week OR End of the month
        if ($str % 7 == 6 || $day == $day_count) {
            if ($day == $day_count) {
                // Add empty cell
                $week .= str_repeat('<td></td>', 6 - ($str % 7));
            }
            $weeks[] = '<tr>' . $week . '</tr>';
            // Prepare for new week
            $week = '';
        }
    }       

  6. POST konfigs:

           <form method="post">
               <table class="table table-bordered" >
                <tr bgcolor="#01DFA5">
                    <th>Pr</th>
                    <th>Ot</th>
                    <th>Tr</th>
                    <th>Ce</th>
                    <th>Pi</th>
                    <th style="color:red">Se</th>
                    <th style="color:red">Sv</th>

                </tr>
                <?php
                    foreach ($weeks as $week) {
                        echo $week;
                    }
            

                ?>
            </table>
                   <input class="button" type="submit" value="Submit!">
        </form>
        </div>

     

     

  7. Jautājums ir, kur kodā ir kļūda, ka katrs nākamais pieprasījums pārraksta tabulu no jauna?

    Koda daļa:

    // INSERT LOOP

            if (isset($_POST['day_1'])) {
            
                $sql_parts = [];
                for ( $day = 1; $day <= $day_count; $day++) {
                    $date = $ym . '-' . $day;
        
                   $test = null;
            $key = 'day_' . $day;
            if (isset($_POST[$key])) {
                $test = $_POST[$key];
                }
                $sql_parts[] = "('$date', '$test')";
                }
                if ($sql_parts) {
                    $link = mysqli_connect("localhost", "root", "xxx", "yyy");
                if ($link === false) {
                die("Maintenance code #1234.");
                }

                $implodeArray = implode(',', $sql_parts);
            $sql = "INSERT INTO dezuranti VALUES " .$implodeArray. "ON DUPLICATE KEY UPDATE Dezurants = VALUES(Dezurants)";

     


                if (mysqli_query($link, $sql)){
                        echo "<p> <font color=#01DFA5> <b><i>title!</i></b></font> </p>";
                } else {
                    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
                }
                    mysqli_close($link);
                    }
            }

     

  8. 15 hours ago, e-remit said:

    Un, kur tieši ir problēma kodu izlabot tā, lai tabulu nav jāpārraksta?

    Problēma ir tādā, ka manā skatījumā kods ir korekts. :

    Īsti nav skaidrs, kura daļa no koda pārraksta tabulu (par cik tiek izmantots INSERT INTO + ON DUPLICATE KEY UPDATE)? Jo TRUNCATE kā sql funkciju es jau no koda esmu aizvācis...

  9. On 3/1/2019 at 11:07 PM, e-remit said:

    Šitā?

    
    INSERT INTO dezuranti (datums, vertiba) VALUES 
    ('2019-01-01', 'A'), 
    ('2019-01-02', 'B'), 
    ('2019-01-03', 'C'), 
    ('2019-01-04', 'A') 
    ON DUPLICATE KEY UPDATE vertiba = VALUES(vertiba);

    ...nav problēmu!

    Idejiski jā, šādi! Cik saprotu, ar šo konkrēto kodu es to nepanākšu! :)

  10. On 1/24/2019 at 11:27 PM, e-remit said:

    Atmetot to, ka kods ir šausmīgs, man smuki saglabājas!

    Parādi, kāda ir datubāzes struktūru! 

    
    SHOW CREATE TABLE dezuranti;

    Iespējams, ka struktūra neatbilst tavam INSERT pieprasījumam!

    Uzreiz ieteikums - izmet ārā sadaļu, kas sākas ar `// DELETE LOOP`! To tabulu var iztīrīt arī otrajā sadaļā, tajā pašā MySQL sesijā!

    Un vispār - katru reizi iztīrīt tabulu ar TRUNCATE ir bezjēdzīgs pasākums, jo tad tu nevarēsi neko saglabāt pa vairākiem mēnešiem. Uzliec  unikālo atslēgu tai kolonnai, kurā glabājas datums, tad varēsi rakstīt šādi:

    
    INSERT INTO dezuranti (datums, vertiba) VALUES ('2019-01-01', 'A') ON DUPLICATE KEY UPDATE vertiba = VALUES(vertiba);

     

    Jautājums, vai DUPLICATE KEY... sadaļu varu kaut kā kombinēt ar implode? Vai arī implode izslēdzam no koda?

  11. 16 hours ago, Grey_Wolf said:

    Spriežot pēc koda.. vispār bezjēdzīgs pasākums..
    Pilnīgi nevajadzīgi tiek izmantota datu bāze.. 
    Ja vēlies ĪSLAICĪGI saglabāt datus, saglabā tos sesijās mainīgajos.. nevis datu bāzē..

    Ir tā ka otrs lietotājs redzēs cita lietotāja ieliktos datus.. - -KODS IR BEZJĒDZĪGS .. 

    Padomā loģiski ko tavs kods dara!!
    1. NODZĒŠ.. datubāzi.. ieraksta kaut ko jaunu .. 

    2. ielasa datus!! - KĀDUS DATUS?? .. tie jau varbūt ir "Djadja Vaja" dati.. - nekādas garantijas ka lietotāja.. dati...

    3. Un ko iegūsti? NEKO !!

    Kods ir bezjēzīgs..

     

    Kods ir jēdzīgs tādā ziņā, ka tas ir kalnedārs ar fiksētām dropdown vērtībām, kuras jānosūta uz SQL datubāzi, no kuras savukārt cita aplikācija šos datus lasīs.

    Es eju soli pa solim, līdz ar to kādā brīdī kāda darbība var šķist (un lielākoties pamatoti) lieka... ;)

  12. On 1/24/2019 at 11:27 PM, e-remit said:

    Atmetot to, ka kods ir šausmīgs, man smuki saglabājas!

    Parādi, kāda ir datubāzes struktūru! 

    
    SHOW CREATE TABLE dezuranti;

    Iespējams, ka struktūra neatbilst tavam INSERT pieprasījumam!

    Uzreiz ieteikums - izmet ārā sadaļu, kas sākas ar `// DELETE LOOP`! To tabulu var iztīrīt arī otrajā sadaļā, tajā pašā MySQL sesijā!

    Un vispār - katru reizi iztīrīt tabulu ar TRUNCATE ir bezjēdzīgs pasākums, jo tad tu nevarēsi neko saglabāt pa vairākiem mēnešiem. Uzliec  unikālo atslēgu tai kolonnai, kurā glabājas datums, tad varēsi rakstīt šādi:

    
    INSERT INTO dezuranti (datums, vertiba) VALUES ('2019-01-01', 'A') ON DUPLICATE KEY UPDATE vertiba = VALUES(vertiba);

     

    Primkārt, paldies par atklātību. Man, šo visu būvējot, uzraiz bija skaidrs, ka diži optimāls šis kods nebūs. :D

    Par tēmu - mazliet nesaprati. Tabulā viss saglabājas. Mana ideja bija, lai izvēlētie dropdown lauki pēc POST darbības saglabā savas vērtības web lapā. Šobrīd man pēc Submit pogas nospiešanas visi dropdown lauki atkrīt uz defaultajām " ... " vērtībām. Pieņemu, ka šeit kā viens no soļiem ir ieviest Tevis minēto UPDATE funkciju SQL tabulai.

  13. 11 minutes ago, e-remit said:

    @knauzers, bez aktuālā koda nedomājas!

    Sorry, kods:

     

    <?php


    // Set your timezone
    date_default_timezone_set('Europe/Riga');
    // Get prev & next month
    if (isset($_GET['ym'])) {
        $ym = $_GET['ym'];
    } else {
        // This month
        $ym = date('Y-m');
    }
    // Check format
    $timestamp = strtotime($ym . '-01');
    if ($timestamp === false) {
        $ym = date('Y-m');
        $timestamp = strtotime($ym . '-01');
    }
    // Today
    $today = date('Y-m-j', time());
    // For H3 title
    $html_title = date('Y / m', $timestamp);
    // Create prev & next month link     mktime(hour,minute,second,month,day,year)
    $prev = date('Y-m', mktime(0, 0, 0, date('m', $timestamp)-1, 1, date('Y', $timestamp)));
    $next = date('Y-m', mktime(0, 0, 0, date('m', $timestamp)+1, 1, date('Y', $timestamp)));
    // You can also use strtotime!
    // $prev = date('Y-m', strtotime('-1 month', $timestamp));
    // $next = date('Y-m', strtotime('+1 month', $timestamp));
    // Number of days in the month
    $day_count = date('t', $timestamp);
     
    // 0:Sun 1:Mon 2:Tue ...
    $str = date('w', mktime(0, 0, 0, date('m', $timestamp), 0, date('Y', $timestamp)));
    //$str = date('w', $timestamp);
    // Create Calendar!!
    $weeks = array();
    $week = '';

    // Add empty cell
    $week .= str_repeat('<td></td>', $str);
    for ( $day = 1; $day <= $day_count; $day++, $str++) {
         
        $date = $ym . '-' . $day;
        if ($today == $date) {
            $week .= '<td class="today">' . $day;
        } else {
            $week .= '<td>' . $day;
        }
        $week .= '<br>';
        $week .= '<select name="day_' . $day . '" style="background-color:#01A9DB;">';
        $week .= '<option value="0">...</option>';
        $week .= '<option value="A">A</option>';
        $week .= '<option value="B">B</option>';
        $week .= '<option value="C">C</option>';
        $week .= '<option value="D">D</option>';
        $week .= '<option value="E">E</option>';
        $week .= '<option value="F">F</option>';
        $week .= '</select>';
        $week .= '</td>';

     
        // End of the week OR End of the month
        if ($str % 7 == 6 || $day == $day_count) {
            if ($day == $day_count) {
                // Add empty cell
                $week .= str_repeat('<td></td>', 6 - ($str % 7));
            }
            $weeks[] = '<tr>' . $week . '</tr>';
            // Prepare for new week
            $week = '';
        }
    }        

    // DELETE LOOP

    if (isset($_POST['day_1'])) {
            
                $sql_parts = [];
                for ( $day = 1; $day <= $day_count; $day++) {
                    $date = $ym . '-' . $day;
        
                   $test = null;
            $key = 'day_' . $day;
            if (isset($_POST[$key])) {
                $test = $_POST[$key];
                }
                $sql_parts[] = "('$date', '$test')";
                }
                if ($sql_parts) {
                    $link = mysqli_connect("localhost", "root", "xxx", "yyy");
                if ($link === false) {
                die("Maintenance code #1234.");
                }

                $implodeArray = implode(',', $sql_parts);
            $sql = "TRUNCATE TABLE dezuranti";

     

                if (mysqli_query($link, $sql)){
                        echo "";
                } else {
                    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
                }
                    mysqli_close($link);
                    }
            }


            
    // INSERT LOOP

            if (isset($_POST['day_1'])) {
            
                $sql_parts = [];
                for ( $day = 1; $day <= $day_count; $day++) {
                    $date = $ym . '-' . $day;
        
                   $test = null;
            $key = 'day_' . $day;
            if (isset($_POST[$key])) {
                $test = $_POST[$key];
                }
                $sql_parts[] = "('$date', '$test')";
                }
                if ($sql_parts) {
                    $link = mysqli_connect("localhost", "root", "xxx", "yyy");
                if ($link === false) {
                die("Maintenance code #1234.");
                }

                $implodeArray = implode(',', $sql_parts);
            $sql = "INSERT INTO dezuranti VALUES " .$implodeArray;

     


                if (mysqli_query($link, $sql)){
                        echo "<p> <font color=#01DFA5> <b><i>OK</i></b></font> </p>";
                } else {
                    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
                }
                    mysqli_close($link);
                    }
            }

     

    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>TITLE</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <link href="https://fonts.googleapis.com/css?family=Noto+Sans" rel="stylesheet">
        <style>
            .container {
                font-family: 'Noto Sans', sans-serif;
                margin-top: 10px;
                width: auto;
            }
            .button {
                height: 70px;
                width: 30%;
                color: black;
                font-size: 13px;
                background-color: #A9F5E1;
                text-align:center;
                margin-left:600px;
            }
            .button:hover {
                background-color: #01DFA5;
                color: black;
            }
            h3 {
                margin-bottom: 100px;
            }
            th {
                height: 10px;
                text-align: center;
                font-size: 19px;
            }
            td {
                height: 10px;
                background-color: #A9F5E1;
                font-style: italic;
                font-size: 13px;
                font-weight: bold;
            }
            .today {
                background: orange;
            }   
        </style>
    </head>
    <body style="background-color:#0B4C5F;">
        <div class="container">
            <h2 style="color:#01DFA5">Nosaukums   <a href="?ym=<?php echo $prev; ?>">&lt;</a> <?php echo $html_title; ?> <a href="?ym=<?php echo $next; ?>">&gt;</a></h2>
           <form method="post">
               <table class="table table-bordered" >
                <tr bgcolor="#01DFA5">
                    <th>Pr</th>
                    <th>Ot</th>
                    <th>Tr</th>
                    <th>Ce</th>
                    <th>Pi</th>
                    <th style="color:red">Se</th>
                    <th style="color:red">Sv</th>

                </tr>
                <?php
                    foreach ($weeks as $week) {
                        echo $week;
                    }
            

                ?>
            </table>
                   <input class="button" type="submit" value="Submit!">
        </form>
        </div>
    </body>
    </html>

     

  14. On 1/4/2019 at 8:15 PM, e-remit said:

    Lieta, ko tu nekādi nesaproti ir tas, ka jābūt divām dažādām koda daļām - viena, kas izveido HTML un otra, kas nolasa POST parametrus un tos saglabā.

    Ja tu paskatītos pārlūka konsolē, redzētu, ka tev POSTā tiek padoti vienādi mainīgie: 

    
    name=A&name=B&name=C&...

    ... t.i. mainīgajā POST["name"] ir tikai viena vērtība! Lai tavu risinājumu kaut kā padarītu par funkcionējošu, SELECT nosaukumi ir jādažādo, piemēram:

    
    $week .= '<select name="day_' . $day . '" style="background-color:#01A9DB;">';

    Pēc tam, lai nolasītu šos datus, tas jādara atsevišķā sadaļā, nevis esošajā ciklā:

    
    if (isset('day_1') {
        $sql_parts = [];
        for ( $day = 1; $day <= $day_count; $day++) {
            $date = $ym . '-' . $day;
            $test = isset($_POST['day_' . $day]) ? (int)$_POST['day_' . $day] : null;
            $sql_parts[] = "('$date', $test)";
        }
        if ($sql_parts) {
            $link = mysqli_connect("localhost", "root", "xxx", "yyy");
            if ($link === false) {
                die("Maintenance code #1234.");
            }
            $sql = "INSERT INTO dezuranti (Col1, Col2) VALUES " . implode(',', $sql_parts);
            if(mysqli_query($link, $sql)){
                echo "Records were updated successfully.";
            } else {
                echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
            }
            mysqli_close($link);
        }
    }

    Saku vēlreiz - šim ir jābūt ārpus tava cikla `for ( $day = 1; $day <= $day_count; $day++, $str++)`!

    Paldies Tev liels. Vari vēl lūdzu paskaidrot šis rindas funkcionalitāti:

    "

     $test = isset($_POST['day_' . $day]) ? (int)$_POST['day_' . $day] : null;

    "

    Tobiš, kas tiek panākts ar šo rindu?

  15. Kods:

    <?php


    // Set your timezone
    date_default_timezone_set('Europe/Riga');
    // Get prev & next month
    if (isset($_GET['ym'])) {
        $ym = $_GET['ym'];
    } else {
        // This month
        $ym = date('Y-m');
    }
    // Check format
    $timestamp = strtotime($ym . '-01');
    if ($timestamp === false) {
        $ym = date('Y-m');
        $timestamp = strtotime($ym . '-01');
    }
    // Today
    $today = date('Y-m-j', time());
    // For H3 title
    $html_title = date('Y / m', $timestamp);
    // Create prev & next month link     mktime(hour,minute,second,month,day,year)
    $prev = date('Y-m', mktime(0, 0, 0, date('m', $timestamp)-1, 1, date('Y', $timestamp)));
    $next = date('Y-m', mktime(0, 0, 0, date('m', $timestamp)+1, 1, date('Y', $timestamp)));
    // You can also use strtotime!
    // $prev = date('Y-m', strtotime('-1 month', $timestamp));
    // $next = date('Y-m', strtotime('+1 month', $timestamp));
    // Number of days in the month
    $day_count = date('t', $timestamp);
     
    // 0:Sun 1:Mon 2:Tue ...
    $str = date('w', mktime(0, 0, 0, date('m', $timestamp), 0, date('Y', $timestamp)));
    //$str = date('w', $timestamp);
    // Create Calendar!!
    $weeks = array();
    $week = '';
    // Add empty cell
    $week .= str_repeat('<td></td>', $str);
    for ( $day = 1; $day <= $day_count; $day++, $str++) {
         
        $date = $ym . '-' . $day;
         
        if ($today == $date) {
            $week .= '<td class="today">' . $day;
        } else {
            $week .= '<td>' . $day;
        }


        $week .= '<select name="name" style="background-color:#01A9DB;">';
        $week .= '<option value="0">...</option>';
        $week .= '<option value="A">A</option>';
        $week .= '<option value="B">B</option>';
        $week .= '<option value="C">C</option>';
        $week .= '<option value="D">D</option>';
        $week .= '<option value="E">E</option>';
        $week .= '<option value="F">F</option>';
        $week .= '</select>';
        $week .= '</td>';


        if (isset($_POST['name'])) {
        $test=$_POST['name'];
             $link = mysqli_connect("localhost", "root", "xxx", "yyy");
            
            // Check connection
            if($link === false){
                die("ERROR: Could not connect. " . mysqli_connect_error());
            }

            // Attempt insert query execution
            
             $sql = "INSERT INTO d ez ura n ti (Col1, Col2 ) VALUES ('$date', '$test)";


            if(mysqli_query($link, $sql)){
                echo "Records were updated successfully.";
            } else {
                echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
            }


            // Close connection
            mysqli_close($link);
    }

            

     

       

     
        // End of the week OR End of the month
        if ($str % 7 == 6 || $day == $day_count) {
            if ($day == $day_count) {
                // Add empty cell
                $week .= str_repeat('<td></td>', 6 - ($str % 7));
            }
            $weeks[] = '<tr>' . $week . '</tr>';
            // Prepare for new week
            $week = '';
        }
    }        

     


    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>TITLE</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <link href="https://fonts.googleapis.com/css?family=Noto+Sans" rel="stylesheet">
        <style>
            .container {
                font-family: 'Noto Sans', sans-serif;
                margin-top: 10px;
                width: auto;
            }
            .button {
                height: 70px;
                width: 30%;
                color: black;
                font-size: 13px;
                background-color: #A9F5E1;
                text-align:center;
                margin-left:600px;
            }
            .button:hover {
                background-color: #01DFA5;
                color: black;
            }
            h3 {
                margin-bottom: 100px;
            }
            th {
                height: 10px;
                text-align: center;
                font-size: 19px;
            }
            td {
                height: 10px;
                background-color: #A9F5E1;
                font-style: italic;
                font-size: 13px;
                font-weight: bold;
            }
            .today {
                background: orange;
            }   
        </style>
    </head>
    <body style="background-color:#0B4C5F;">
        <div class="container">
            <h2 style="color:#01DFA5">NOSAUKUMS   <a href="?ym=<?php echo $prev; ?>">&lt;</a> <?php echo $html_title; ?> <a href="?ym=<?php echo $next; ?>">&gt;</a></h2>
           <form method="post">
               <table class="table table-bordered" >
                <tr bgcolor="#01DFA5">
                    <th>Pr</th>
                    <th>Ot</th>
                    <th>Tr</th>
                    <th>Ce</th>
                    <th>Pi</th>
                    <th style="color:red">Se</th>
                    <th style="color:red">Sv</th>

                </tr>
                <?php
                    foreach ($weeks as $week) {
                        echo $week;
                    }
            

                ?>
            </table>
                   <input class="button" type="submit" value="Submit!">
        </form>
        </div>
           
    <br>
    <br>  
        <table style="width:15%;bgcolor:white">
            <tr>
                <td style="background-color:#FA5882;width:60px;">.</td>
                <td>Operativas lietas</td>
            </tr>
            <tr>
                <td style="background-color:#F3F781;width:60px;">.</td>
                <td>Projekti</td>
            </tr>
            <tr>
                <td style="background-color:#01A9DB;width:60px;">.</td>
                <td>Dienas dezurants</td>
            </tr>
        </table>
    </body>
    </html>

  16. Atgriežos pie problēmas risināšanas.

    Ar Tevis ieteikto metodi esmu turpat, kur biju - joprojām iegūstu šo:

     

    On 12/21/2018 at 12:29 AM, e-remit said:

    taču $test3 vērtība visām atbilstošajām decembra dienām ir viena un tā pati - pēdējās mēneša dienas dropdown value

    Varbūt kods kā tāds vairs nav tūnējams un ir, tā teikt, izsmēlis sevi ,līdz ar to jādomā kas fundamentāli savādāks?

  17. On 12/21/2018 at 1:52 PM, e-remit said:

    Atgriežos pie problēmas risināšanas.

    Ar Tevis ieteikto metodi esmu turpat, kur biju - joprojām iegūstu šo:

    On 12/13/2018 at 5:03 PM, knauzers said:

    Principā nosūtīta visām mēneša dienām tiek pēdējās dienas dropdown izvēle.

     

     

  18. 8 hours ago, e-remit said:

    Kaut kā ir sajūta, ka kods, ko esi iekopējis, nedaudz atšķiras no tā, kuru esi izpildījis.

    Nu bet pareizi - tā vērtība tiek aizpildīta no pēdējā POST visiem vienāda! Katrā skripta izpildes laikā $_POST['name'] vērtība ir viena un tā pati!

    Tad jautājums, kā lai šo padara dinamisku? Es, protams, nesagaidu gatavu kodu, bet vismaz virzienu... :)

  19. Tur tā lieta, ka skripts izpildās veiksmīgi, SQL tabulā iegūstu $date vērtības 01-12-2018, 02-12-2018 ..... 31-12.2018, taču $test3 vērtība visām atbilstošajām decembra dienām ir viena un tā pati - pēdējās mēneša dienas dropdown value. Idejiski:

    Vēlamais rezultāts:

    01-12-2018 -> x

    02-12-2018 -> y

    03-12-2018 -> z

    Esošais rezultāts:

    01-12-2018 -> z

    02-12-2018 -> z

    03-12-2018 -> z

    Otra koda daļa, kuru iepriekš neieliku:

     

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>TITLE</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <link href="https://fonts.googleapis.com/css?family=Noto+Sans" rel="stylesheet">
        <style>
            .container {
                font-family: 'Noto Sans', sans-serif;
                margin-top: 10px;
                width: auto;
            }
            .button {
                height: 70px;
                width: 30%;
                color: black;
                font-size: 13px;
                background-color: #A9F5E1;
                text-align:center;
                margin-left:600px;
            }
            .button:hover {
                background-color: #01DFA5;
                color: black;
            }
            h3 {
                margin-bottom: 100px;
            }
            th {
                height: 10px;
                text-align: center;
                font-size: 19px;
            }
            td {
                height: 10px;
                background-color: #A9F5E1;
                font-style: italic;
                font-size: 13px;
                font-weight: bold;
            }
            .today {
                background: orange;
            }   
        </style>
    </head>
    <body style="background-color:#0B4C5F;">
        <div class="container">
            <h2 style="color:#01DFA5">NOSAUKUMS   <a href="?ym=<?php echo $prev; ?>">&lt;</a> <?php echo $html_title; ?> <a href="?ym=<?php echo $next; ?>">&gt;</a></h2>
           <form method="post">
               <table class="table table-bordered" >
                <tr bgcolor="#01DFA5">
                    <th>Pr</th>
                    <th>Ot</th>
                    <th>Tr</th>
                    <th>Ce</th>
                    <th>Pi</th>
                    <th style="color:red">Se</th>
                    <th style="color:red">Sv</th>

                </tr>
                <?php
                    foreach ($weeks as $week) {
                        echo $week;
                    }

     

     

                ?>
            </table>
                   <input class="button" type="submit" value="Submit!">
        </form>
        </div>
    </body>
    </html>


     

  20. Sorry, kods šāds:

    <?php
    date_default_timezone_set('Europe/Riga');
    if (isset($_GET['ym'])) {
        $ym = $_GET['ym'];
    } else {
        $ym = date('Y-m');
    }
    $timestamp = strtotime($ym . '-01');
    if ($timestamp === false) {
        $ym = date('Y-m');
        $timestamp = strtotime($ym . '-01');
    }
    $today = date('Y-m-j', time());
    $html_title = date('Y / m', $timestamp);
    $prev = date('Y-m', mktime(0, 0, 0, date('m', $timestamp)-1, 1, date('Y', $timestamp)));
    $next = date('Y-m', mktime(0, 0, 0, date('m', $timestamp)+1, 1, date('Y', $timestamp)));
    $day_count = date('t', $timestamp);
     
    $str = date('w', mktime(0, 0, 0, date('m', $timestamp), 0, date('Y', $timestamp)));
    $weeks = array();
    $week = '';
    $week .= str_repeat('<td></td>', $str);
    for ( $day = 1; $day <= $day_count; $day++, $str++) {
         
        $date = $ym . '-' . $day;
         
        if ($today == $date) {
            $week .= '<td class="today">' . $day;
        } else {
            $week .= '<td>' . $day;
        }

        $week .= '<br>';
        $week .= '<select name="name">';
        $week .= '<option value="test">test</option>';
        $week .= '<option value="test2">test2</option>';
        $week .= '</select>';

    $test3=$_POST['name'];

     

            $link = mysqli_connect("localhost", "root", "xxx", "yyy");
            
            // Check connection
            if($link === false){
                die("ERROR: Could not connect. " . mysqli_connect_error());
            }

            // Attempt insert query execution
            
            $sql = "INSERT INTO dezuranti (Col1, Col2) VALUES ('$date', '$test3)";


            if(mysqli_query($link, $sql)){
                echo "Records were updated successfully.";
            } else {
                echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
            }


            // Close connection
            mysqli_close($link);

     

        if ($str % 7 == 6 || $day == $day_count) {
            if ($day == $day_count) {
                // Add empty cell
                $week .= str_repeat('<td></td>', 6 - ($str % 7));
            }
            $weeks[] = '<tr>' . $week . '</tr>';
            // Prepare for new week
            $week = '';
        }
    }        

     

    Tālāk ir HTML būvēta tabula iekš formas un Submit poga, lai to visu aizsūtītu uz SQL tabulu.

×
×
  • Create New...