Как вычислить общее количество всех строк в таблице с бесконечным циклом, пришло из phpmyadmin (23 декабря 2019 г.) - PullRequest
0 голосов
/ 23 декабря 2019

Помощь У меня проблема при отображении суммы данных, полученных из phpmyadmin,

while($row = $result->fetch_assoc()) {
  echo "
     <tr>
        <td class='count-me'>{$row['logic1']}</td>
        <td class='count-me'>{$row['logic2']}</td>
        <td class='count-me'>{$row['logic3']}</td>
        <td class='total'> /3</td>
        </tr>";
}

Что я могу добавить, чтобы последний "td" со значением "total" вычислил значениевнутри логики1,2,3 ??? в моей базе данных у меня уже есть 10 записей об этом, и я хочу, чтобы они были итоговыми отдельно. Любой комментарий будет принят с благодарностью

Ответы [ 3 ]

1 голос
/ 23 декабря 2019

Похоже, что вам нужно всего per-row, поэтому вы можете попробовать, как показано ниже, или, альтернативно, внести сумму в базу данных и включить ее в набор записей, а также в другие поля.

while($row = $result->fetch_assoc()) {
    $total=0;
    for( $i=1; $i<=3; $i++ )$total += $row["logic{$i}"];

    echo "
    <tr>
        <td class='count-me'>{$row['logic1']}</td>
        <td class='count-me'>{$row['logic2']}</td>
        <td class='count-me'>{$row['logic3']}</td>
        <td class='total'>{$total}/3</td>
    </tr>";
}

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

$sumtotal=0;
while($row = $result->fetch_assoc()) {

    $total=0;
    for( $i=1; $i<=3; $i++ )$total += $row["logic{$i}"];

    $sumtotal+=$total;

    echo "
    <tr>
        <td class='count-me'>{$row['logic1']}</td>
        <td class='count-me'>{$row['logic2']}</td>
        <td class='count-me'>{$row['logic3']}</td>
        <td class='total'>{$total}/3</td>
    </tr>";
}

или рассчитать per-row в базе данных

select a,b,c,(a+b+c) as total from `table`
0 голосов
/ 26 декабря 2019

Теперь он вычисляет общую сумму

    // Print each file

    $sumtotal=0;
    while($row = $result->fetch_assoc()) {

            $total=0;
for( $i=1; $i<=3; $i++ )$total += $row["logic{$i}"];
for( $i=1; $i<=5; $i++ )$total += $row["grammar{$i}"];
for( $i=1; $i<=4; $i++ )$total += $row["reading{$i}"];
for( $i=1; $i<=2; $i++ )$total += $row["listening{$i}"];

$sumtotal+=$total;
        echo "
            <tr>
                <td>{$row['last_name']}</td>
                <td>{$row['first_name']}</td>
                <td>{$row['middle_initial']}</td>
                <td>{$row['educ_attain']}</td>
                <td class='count-me'>{$row['logic1']}</td>
                <td class='count-me'>{$row['logic2']}</td>
                <td class='count-me'>{$row['logic3']}</td>
                <td class='count-me'>{$row['grammar1']}</td>
                <td class='count-me'>{$row['grammar2']}</td>
                <td class='count-me'>{$row['grammar3']}</td>
                <td class='count-me'>{$row['grammar4']}</td>
                <td class='count-me'>{$row['grammar5']}</td>
                <td>{$row['ghs_essay']}</td>
                <td class='count-me'>{$row['reading1']}</td>
                <td class='count-me'>{$row['reading2']}</td>
                <td class='count-me'>{$row['reading3']}</td>
                <td id='count-me'>{$row['reading4']}</td>
                <td id='count-me'>{$row['listening1']}</td>
                <td id='count-me'>{$row['listening2']}</td>

                 <td class='total'>{$total}/3</td>



            </tr>";
    }

Но это выглядит так:

14/3 13/14 14/3 9/3

Я хочу этопоказывает как 14/14, 0/14, 10/14 Можете ли вы помочь мне понять это? заранее спасибо!

0 голосов
/ 26 декабря 2019

Вы Абсолютно Гений !!!! это работает!

Весь код использовался, чтобы быть таким,

// Print each file

    $sumtotal=0;
    while($row = $result->fetch_assoc()) {

    $total=0;
    for( $i=1; $i<=3; $i++ )$total += $row["logic{$i}"];

    $sumtotal+=$total;

        echo "
            <tr>
                <td>{$row['last_name']}</td>
                <td>{$row['first_name']}</td>
                <td>{$row['middle_initial']}</td>
                <td>{$row['educ_attain']}</td>
                <td class='count-me'>{$row['logic1']}</td>
                <td class='count-me'>{$row['logic2']}</td>
                <td class='count-me'>{$row['logic3']}</td>
                <td class='count-me'>{$row['grammar1']}</td>
                <td class='count-me'>{$row['grammar2']}</td>
                <td class='count-me'>{$row['grammar3']}</td>
                <td class='count-me'>{$row['grammar4']}</td>
                <td class='count-me'>{$row['grammar5']}</td>
                <td>{$row['ghs_essay']}</td>
                <td class='count-me'>{$row['reading1']}</td>
                <td class='count-me'>{$row['reading2']}</td>
                <td class='count-me'>{$row['reading3']}</td>
                <td id='v0'>{$row['reading4']}</td>
                <td id='v2'>{$row['listening1']}</td>
                <td id='v3'>{$row['listening2']}</td>
                <td class='total'>{$total}/3</td>

            </tr>";
    }

    // Close table
    echo '</table></center>';
   }

Теперь моя проблема состоит в том, чтобы выяснить, как добавить эти строки td с разными именами значений из logic1,2,3

В целом, Вы действительно помогаете мне с моей проблемой, поскольку единственное значение каждой строки в моей базе данных кодируется только как 1 или 0, потому что всего 14, если кто-то прошел экзамен, это должно быть14 / 14. * * 1 008

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