Это сложный вопрос для поиска, поэтому мой пост здесь. У меня есть заголовок, который отображает сумму всех значений в столбце таблицы, которая печатается под ним. Однако таблица генерируется из таблицы MYSQL, и сумма значений столбца вычисляется по мере ее создания. Так или иначе, мне нужно напечатать переменную, но только после того, как таблица сгенерирована, и я не уверен, как передать переменные обратно в оператор print, чтобы он не всегда выводил 0
Мне кажется, что решение состоит в том, что сумма должна вызывать скрипт (Javascipt), который генерирует и печатает таблицу, возвращающую сумму столбцов для последующей печати. Но я не уверен, как бы я это сделал
echo "
<h3>EPL</h3>
<h5>Total Score: $total</h5>
<table class='table table-bordered'>
<tr>
<th>#</th>
<th>Name</th>
<th>Score</th>
</tr>
<tbody class='row_position'>"?>
<?php
require('db_config.php');
$tablename = $_SESSION['username'] . "_epl";
$_SESSION['tablename'] = $tablename;
$sql = "SELECT * FROM $tablename ORDER BY position_order";
$users = $mysqli->query($sql);
while($user = $users->fetch_assoc()){
$con = mysqli_connect('localhost', 'root', 'root', 'predictions');
$sql1 = "SELECT * FROM `predictions`.`".$tablename."` WHERE (CONVERT(`title` USING utf8) LIKE '%".$user['title']."%')";
$sql2 = "SELECT * FROM `predictions`.`epl` WHERE (CONVERT(`title` USING utf8) LIKE '%".$user['title']."%')";
$result = mysqli_query($con, $sql1);
$row = $result->fetch_assoc();
$position1 = $row['position_order'];
$result->close();
$result = mysqli_query($con, $sql2);
$row = $result->fetch_assoc();
$position2 = $row['position_order'];
$total += abs($position1-$position2);
?>
<tr id="<?php echo $user['id'] ?>">
<td><?php echo $user['position_order'] ?></td>
<td><?php echo $user['title'] ?></td>
<td><?php echo abs($position1-$position2); ?></td>
</tr>
<?php } ?>
</tbody>
</table>
Чтобы объяснить таблицу далее, у каждого пользователя есть своя собственная таблица с тем же форматом username_league, поэтому я использую некоторый php-код для захвата таблицы. Кроме того, у меня есть таблица базового варианта в этом случае «epl», в которой я сравниваю таблицы и вычисляю баллы на основе абсолютной разницы в столбце «position_order».