#php #mysql
#php #mysql
Вопрос:
У кого-нибудь я могу попросить помощи для моей системы. У меня есть некоторые проблемы с сохранением данных расчета для каждой даты в таблице, которую я создаю. Проблема в том, что когда данные первой даты были рассчитаны, они сохраняются в первом столбце, но когда данные второй даты вычисляются, они суммируют все мои вычисления только в один столбец. Например: дата начала 04-09-2020 и конец 05-09-2020, это будет так :
Этот код для этой части :
if(isset($_POST["from_date"], $_POST["to_date"])) {
$day =date("d", strtotime($_POST["from_date"]));
$end =date("d", strtotime($_POST["to_date"]));
?><table class="table table-bordered">
<tr>
<th width="10%">Date testing 2</th> <?php
for($i=$day; $i<=$end; $i ){
?><th width="10%"><?php echo $i?></th><?php
}
?>
<th width="10%">Total</th>
<th width="10%">Balance To Go</th>
</tr> <?php
if(mysqli_num_rows($resultR) > 0){
if(isset($_POST["FighterID"]) and !empty($_POST["FighterID"])){
/..../
}else{
// second table
while($rowF = $resultX -> fetch_assoc()){// registerfighter
$totalPlus = 0;
//table start
?> <tr>
<td><?php echo 'ID = '.$rowF["UserID"] ?></td>
<?php
$resultR -> data_seek(0);
while($rowR = $resultR -> fetch_assoc()){// by record
$resultY-> data_seek(0);
while($rowY = $resultY -> fetch_assoc()){// by addplan
if( ($rowF["UserID"]===$rowR["UserIDD"]) and ( ($rowR["No_Plan"]) !== '1' and ($rowY["No_Plan"] === $rowR['No_Plan']) ) ){
$total = ($rowR["UserInputNEW"] $rowR["UserInputNMP"]);
$totalPlus = $totalPlus $total;
/*?><td> <?php echo '';?></td> <?php*/
}
}
}
?>
<td><?php echo 'Totaling A8 / RP8 = '.$totalPlus; ?></td>
<td><?php echo 'Total A8 / RP8 = '.$totalPlus; ?></td>
<td><?php echo 'Balance A8 / RP8 = '.( 40 - $totalPlus); ?></td>
</tr>
<?php
//table end
}
}
проблемывведите описание изображения здесь
предположим,введите описание изображения здесь
Комментарии:
1. Я бы предположил, что 80% участников этого форума являются самообучающимися!
Ответ №1:
Вы должны распечатать отдельные вычисления внутри цикла while и общие вычисления вне цикла while. Попробуйте это
if(isset($_POST["from_date"], $_POST["to_date"])) {
$day =date("d", strtotime($_POST["from_date"]));
$end =date("d", strtotime($_POST["to_date"]));
?><table class="table table-bordered">
<tr>
<th width="10%">Date testing 2</th> <?php
for($i=$day; $i<=$end; $i ){
?><th width="10%"><?php echo $i?></th><?php
}
?>
<th width="10%">Total</th>
<th width="10%">Balance To Go</th>
</tr> <?php
if(mysqli_num_rows($resultR) > 0){
if(isset($_POST["FighterID"]) and !empty($_POST["FighterID"])){
/..../
}else{
// second table
while($rowF = $resultX -> fetch_assoc()){// registerfighter
$totalPlus = 0;
//table start
?> <tr>
<td><?php echo 'ID = '.$rowF["UserID"] ?></td>
<?php
$resultR -> data_seek(0);
while($rowR = $resultR -> fetch_assoc()){// by record
$resultY-> data_seek(0);
while($rowY = $resultY -> fetch_assoc()){// by addplan
if( ($rowF["UserID"]===$rowR["UserIDD"]) and ( ($rowR["No_Plan"]) !== '1' and ($rowY["No_Plan"] === $rowR['No_Plan']) ) ){
$total = ($rowR["UserInputNEW"] $rowR["UserInputNMP"]);
$totalPlus = $totalPlus $total;
echo "<td>Totaling A8 / RP8 = ".$totalPlus."</td>";
}
}
}
?>
<td><?php echo 'Balance A8 / RP8 = '.( 40 - $totalPlus); ?></td>
</tr>
<?php
//table end
}
}