我在从会话数组创建动态表时遇到问题。我的代码运行良好,但似乎没有用新变量更新数组(每个“POST”都替换了前一个)。我只是用会话数组弄湿了我的脚,任何帮助将不胜感激!
<?php
session_start();
$user=array();
$hours=array();
$earned=array();
$name="";
$hourly=0;
$tmp=0;
// if button is pressed, retrieve data
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$hourly = $_POST['num'];
$_SESSION['name'] = array();
array_push($_SESSION['name'],$name);
$_SESSION['num'] = array();
array_push($_SESSION['num'],$hourly);
if($hourly <= 40){
$tmp = $hourly * 15;
$_SESSION['earn'] = array();
array_push($_SESSION['earn'], $tmp);
//array_push($earned,$tmp);
}
elseif($hourly > 40){
$tmp = (($hourly-40)*(27.5)+(40*15));
$_SESSION['earn'] = array();
array_push($_SESSION['earn'], $tmp);
//array_push($earned,$tmp);
}
$_SESSION['earn'] = array();
array_push($_SESSION['earn'], $tmp);
}
?>
<br><br>
<div class="container" align="center">
<!-- Trigger the modal with a button -->
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" `data-target="#myModal">Insert New</button>`
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">× </button>`
<h4 class="modal-title">Insert New Employee</h4>
<form action="partB.php" method="post">
<div class="form-group">
<input type="text" name="name" class="form-control" id="name" placeholder="Employee Name">
</div>
<div class="form-group">
<input type="number" name="num" class="form-control" id="num" min="0" placeholder="Hours Worked">
</div>
<div>
<input type="hidden" name="earn" class="form-control" id="earn">
</div>
<button type="submit" name ="submit" id="submit" class="pull-right btn btn-primary">Add</button>
<button type="button" class="pull-right btn btn-default" data-dismiss="modal">Close</button>
<button type="reset" class="btn btn-default">Reset</button>
<div class="clearfix"></div>
</form>
</div>
</div>
</div>
</div>
</div>
<table style="width:50%" align="center" id="tab">
<caption><h2><center>Employee Payroll</center></h2></caption>
<thead>
<tr>
<th><center>Index</center></th>
<th><center>Hours Worked</center></th>
<th><center>Weekly Earnings</center></th>
</tr>
</thead>
<tbody>
<?php
foreach($_SESSION['name'] as $keys=>$values){
echo "<tr><td><center>".($keys+1)."</center></td>";
foreach($_SESSION['num'] as $keys=>$values){
echo "<td><center>".$values."</center></td>";
foreach($_SESSION['earn'] as $keys=>$values){
echo "<td><center>".$values."</center></td></tr>";
}
}
}
?>
</tbody>
<tfoot>
</tfoot>
</table>
</div>
</body>
</html>