Как поместить значения из базы данных в определенный столбец таблицы - PullRequest
0 голосов
/ 28 августа 2018

Вот код для извлечения данных из базы данных

<?php

    $uid  = $_SESSION['UID'];
    $result = mysqli_query($conn,"SELECT user.*,score.* from `user` join score ON user.USERID=score.USERID WHERE user.USERID=$uid ");

    if (!$result) {
        printf("Error: %s\n", mysqli_error($conn));
        exit();
    }
    while($row = mysqli_fetch_array($result))
    {
        echo "<tr>";
        echo "<td>".$row['SCORE']."</td>";
        echo "<td>".$row['AVERAGE']."</td>";
        echo "<td>".$row['POINTS']."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
        echo "<td>".'0'."</td>";
    }
    echo "</tr>";
?>

Вот база данных, в которой я хочу каждый код действия , он перейдет к определенной строке таблицы вывода

Вот текущий вывод , где я получаю всех данных из базы данных в строке экзамена .

Это должен быть желаемый вывод. если значение ACTCODE пользователя в базе данных равно 1, то оно должно быть в выводе строки экзаменационного урока, 2, если в строке модуля 1, и 3 если в модуле 2 ряд и тд

Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 28 августа 2018

Если я правильно понял вашу проблему, вы хотите напечатать n раз 0, затем данные, а затем снова m раз 0. где n + 3 + m - количество столбцов в вашей таблице.

Основываясь на ваших комментариях, я изменил весь свой ответ, теперь стратегия состоит в том, чтобы размещать строки в массиве и отображать массив после его организации.

// this function will echo the data
function dataBlock($row)
{
    return "<td>".$row['SCORE']."</td>".
            "<td>".$row['AVERAGE']."</td>".
            "<td>".$row['POINTS']."</td>";
}

// the beginning of your code...

$numModules = 4; // a var to store the number of modules
$rows = []
while($row = mysqli_fetch_array($result))
{
    array_push($rows[$row['USERID']][$row['ACTCODE']], dataBlock($row));
}

foreach($rows as $row) {
    echo '<tr>';
    for ($k = 0 ; $k < $numModules; $k++) { echo $row[$k]; }
    echo '</tr>'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...