Как выбрать данные из «вошедшего в систему пользователя» из базы данных в график - PullRequest
0 голосов
/ 21 мая 2019

Мне нужна помощь с некоторым кодом. Я хочу выбрать данные из mySQL для графика на моей веб-странице. Данные должны быть из текущего зарегистрированного в пользователя , и когда я выбираю данные на карту, они работает нормально, но когда я выбираю его на график, график исчезает.

Я использую этот код для карточек, и он отлично работает:

 $sql = "SELECT energyexpenditure FROM energy4project WHERE user_id =  '{$_SESSION["user_id"]}' ORDER BY time_stamp DESC LIMIT 1;";

Это код моего текущего графика, который не показывает данные, основанные на зарегистрированном пользователе:

<?php
header('Content-Type: application/json');

        $host = "localhost";
        $user = "`blabla";
        $pwd = "blabla";
        $db = "blabla";
        $conn = new mysqli($host, $user, $pwd, $db);

        // Check connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }


         $sql = "SELECT energyexpenditure, time_stamp FROM energy4project ORDER BY time_stamp DESC LIMIT 7;";

        $result = $conn->query($sql);


$data = array();
foreach ($result as $row) {
    $data[] = $row;
}

mysqli_close($conn);

echo json_encode($data);
?>

Когда я внедряю код из карточек в коде графика, он не работает.
Почему SELECT WHERE user = '{$_SESSION["user_id"]} не работает на графиках?

1 Ответ

0 голосов
/ 21 мая 2019

Если я правильно понял, ваш запрос Mysql возвращает пустой результат.Попробуйте изменить свой код следующим образом:

if(!$result = $conn->query($sql)) {
    echo "query error."; 
    die();
}

$data = array();

while($row = $result->fetch_array(MYSQLI_ASSOC))
{
    $data[] = $row;
}


/* free result set */
$result->free();

/* close connection */
$conn->close();

//uncomment the below line if you want to check de result of your mysql query because it seems be good.
//var_dump($data); die(); echo "<pre>"; 

echo json_encode($data);

Так что, если у вас нет ошибки mysql, проверьте правильность имени базы данных, таблицы и наличие данных в вашей таблице.

Ссылка: https://www.php.net/manual/en/mysqli-result.fetch-array.php

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...