我正在尝试记录赛车的结果,但我希望能够立即输入比赛的所有结果(而不是一个接一个地进行),但我似乎无法得到它工作。
以下代码:
输入表格:
{
$reID = $row['reID'];
$racerID = $row['racerID'];
echo "<tr>";
echo "<td>$reID<input type='hidden' name='reID' value='$reID'>";
echo "<td>$racerID<input type='hidden' name='racerID' value='$racerID'>";
echo"<td><input type='text' name='rank'>";
echo"<td><input type='text' name='timetaken'>";
}
SQL INSERT FORM:
$rank=$_POST['rank'];
$timetaken=$_POST['timetaken'];
$reID=$_POST['reID'];
$racerID=$_POST['racerID'];
$sql = mysql_query("INSERT INTO Racing (rank, timetaken, reID, racerID) VALUES ('$rank', '$timetaken', '$reID', '$racerID')");
$result = mysql_query($sql);
这是如何工作的,我将选择一场比赛,然后选择该比赛中的特定事件,然后显示所有参赛者,我可以输入他们的等级和时间。同时隐藏的输入(racer no和raceevent也将进入每个结果的数据库)。
所以我试图立即输入所有racerID的所有等级和时间,有人可以帮我完成那个。
感谢。
EXTRA:
$reID = $_GET['reID'];
$result = mysql_query("SELECT * FROM RaceEventRacer WHERE reID = $reID");
while ($row = mysql_fetch_assoc($result))
答案 0 :(得分:0)
首先,你必须解决你的php表单生成的一些问题...
所有ur输入元素都将具有相同的名称属性... 先纠正它
- 使用类似的东西
$cv=0;
while () {
.......................
.......................
echo "<input name='racer_'.$cv>"; // in each repetition new name value, not the same
$cv++;
}
答案 1 :(得分:0)
您应该使用name ='reID []',而不是使用name ='reID',与其他字段相同。未来的代码看起来像这样:
$ranks = $_POST['rank'];
$timetakens = $_POST['timetaken'];
$reIDs = $_POST['reID'];
$racerIDs = $_POST['racerID'];
$sql = "INSERT INTO Racing (rank, timetaken, reID, racerID) VALUES";
$values = array();
foreach($ranks as $key => $rank) {
$values[] = "('$rank', '{$timetakens[$key]}', '{$reIDs[$key]}', '{$racerIDs[$key]}')";
}
$sql .= implode(', ', $values);
$query = mysql_query($sql);