好吧,所以这一直困扰着我一段时间。我正在尝试创建一个跟踪积分的系统。页面上首先出现的是一个下拉菜单,您可以从中选择一个组。该组匹配可以在数据库中找到的组。选择其中一个组后,组成员将显示在表格中。该表有几列,每列(除了名称列)都包含一个复选框。单击其中一个(或多个)复选框并提交表单后,我希望将与这些复选框相对应的点添加到数据库中,并且出现同一组人(因此应清除所有复选框,并且下拉菜单应该仍然具有相同的值)。
Ajax 可能是处理这个问题的最好方法,但不幸的是,我没有任何使用 Ajax 的经验,所以我只是使用 php 和一些 javascript。我将尝试发布尽可能少的编码。
这将创建下拉菜单:
echo "<form method=\"post\" action=\"page.php">";
echo "</br><select name=\"squad\" id=\"squad\" onchange=\"changeSquad(this.value)\">";
while($row = mysql_fetch_array($result))
{
echo "<option value='". $row['squad_id'] . "'>" . $row['name'] . "</option>";
}
echo "</select>";
函数 changeSquad() 然后打开请求数据并创建表的文件:
if($query_run = mysql_query($query)){
$length=0;
echo "<table id='form'><tr>
<td>Member</td>
<td>1st box</td>
</tr>";
require 'nextfile.php';
}
这个“nextfile.php”包含大部分复选框处理、设置点、将数据添加到数据库等。它所做的最重要的事情是:
echo "</form><tr><td><input type='submit' name='submit' id='submit' value='Submit' /></td></tr>";
if(isset($_POST['submit'])){
-- Do all updates --
echo "<script> alert('Points have been updated!'); </script>";
}
我已经尝试在提交按钮之后添加它:
echo "<input type=\"hidden\" name=\"submitted\" id=\"submitted\" value=\"true\" />";
这确实最终提交了分数(显然在对其他文件进行了一些调整之后),但不会让下拉菜单中的其他组出现,并且只会删除复选框应该在的整个表格。(全部出现的是带有先前选择的组、成员名称和大量复选框的下拉菜单)
谁能帮帮我?我已经尝试了 20 多个小时的解决方案,所以我希望有人能提出解决这个问题的好建议。