• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Problem ze wstawieniem zmiennej php do zapytania sql

Object Storage Arubacloud
+1 głos
122 wizyt
pytanie zadane 27 września 2020 w PHP przez Xele Początkujący (310 p.)
zamknięte 4 października 2020 przez Xele

Witam, mam dane w bazie sql, gdzie potrzebuję pobrać i wyświetlić konkretny dzień. Zaznaczam też, że jestem początkujący jeśli chodzi o php, html, javascript, sql.

Poniższy kod działa tak jak powinien, wyświetla dane z dnia 23 września.

$sql = "SELECT id, sensor, temp_value, hum_value, pres_value, reading_time FROM SensorData2 where reading_time >= '2020-09-23 00:00:00' and reading_time <= '2020-09-23 23:59:59'";

Problem jest gdy chcę umieścić zmienną do której przypisuję konkretny dzień z kalendarza i ten dzień jest zapisany w taki sam sposób jak "2020-09-23 00:00:00".

Niżej pobieram zmienną day i tworzę dwie zmienne timeod,  timedo, które po użyciu echo wyświetlają taki sam czas jak wyżej.

if(isset($_POST)){ 
       $_POST['day']; 
        $time1 = $_POST['day'];
    $time2 = " 00:00:00";
    $timeod = "$time1" . "$time2";
    $time3 = " 23:59:59";
    $timedo = "$time1" . "$time3";

Teraz moje zapytanie sql, które nie działa wygląda tak:

$sql = "SELECT id, sensor, temp_value, hum_value, pres_value, reading_time FROM SensorData2 where reading_time >= '$timeod' and reading_time <= '$timedo'";

Po użyciu echo sql;  zmienna $timeod i $timedo nie wyświetla nic, nie mogę znaleść przyczyny, próbowałem róźnie np. '.$timeod.' itp.

Możliwe, że problem występuje gdzieś indziej, dlatego zamieszczę jeszcze kod gdzie pobieram zmienną day z kalendarza.

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
    <input type="date" name="day" value="<?php echo date("Y-m-d");?>"> 
    <input type="submit" name="Submit" value="Submit"> 
</form> 

Dzięki za jakiekolwiek wskazówki, pomoc.

komentarz zamknięcia: Wystarczająca odpowiedź użytkownika VBService.

1 odpowiedź

+1 głos
odpowiedź 28 września 2020 przez VBService Ekspert (253,340 p.)
wybrane 4 października 2020 przez Xele
 
Najlepsza

Może ten zapis, będzie pomocny:

<?php

    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        if (isset($_POST['day'])) {
            try {
                $date = date("Y-m-d", strtotime($_POST['day']));
                $time_from = date("Y-m-d H:i:s", strtotime($date . "0:0:0"));
                $time_to = date("Y-m-d H:i:s", strtotime($date . "23:59:59"));

                require "dbconnect.php";
                $conn = mysqli_connect($host, $user, $pass, $db) or die("Błąd połączenia!");

                $sql = "SELECT id, sensor, temp_value, hum_value, pres_value, reading_time "
                      ."FROM SensorData2 "
                      ."WHERE reading_time >= ? AND reading_time <= ?";

                $stmt = $conn->prepare($sql);
                $stmt->bind_param('ss', $time_from, $time_to);
                $stmt->execute();

                $res = $stmt->get_result();
                $fetch = $res->fetch_all(MYSQLI_ASSOC);

                $res->close();
                $stmt->close();
                $conn->close();

                foreach ($fetch as $key => $quotation) {
                    echo $quotation['id'] . '<br>';
                    echo $quotation['sensor'] . '<br>';
                    echo $quotation['temp_value'] . '<br>'; // itd.
                }

            } catch (Exception $e) {
                echo "Nie prawidłowy format daty";
                // echo $e->getMessage();
            }
        }
    }

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <input type="date" name="day" value="<?php echo date("Y-m-d");?>">
    <input type="submit" name="Submit" value="Submit">
</form>

 

komentarz 4 października 2020 przez Xele Początkujący (310 p.)
Dzięki za pomoc, kombinuje z tym kodem i mi nie wychodzi. Muszę się douczyć podstaw.

Podobne pytania

+1 głos
1 odpowiedź 264 wizyt
pytanie zadane 10 grudnia 2020 w PHP przez ariva6152 Użytkownik (570 p.)
0 głosów
2 odpowiedzi 111 wizyt
pytanie zadane 1 stycznia 2023 w PHP przez dee Początkujący (360 p.)
0 głosów
1 odpowiedź 119 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...