我试图显示数据库中的2行,但是我希望它是当我单击第一行单选按钮时第一行更新..这没有发生...当我单击第一行时第二行更新了..检查它请自己住---> http://albsocial.us/seria.php
<?php
include("connect.php");
$query = "SELECT * FROM test ORDER BY `id` DESC LIMIT 2";
$result = mysql_query($query);
echo "<h2>Seria A</h2><hr/>";
while($row = mysql_fetch_array($result)){
$id = $row['id'];
$home = $row['home'];
$away = $row['away'];
$win = $row['win'];
$draw = $row['draw'];
$lose = $row['lose'];
echo $home, " - ", $away,"<br/>";
echo "<form action='' method='post'>
<input type='hidden' name='id' value='".$row['id']."'>
<input type='radio' name='select' value='1'>1
<input type='radio' name='select' value='X'>X
<input type='radio' name='select' value='2'>2
<input type='submit' name='submit' value='Submit'/>
</form>
";
echo $home, " -> ", $win;
echo "<br/>Barazim -> ", $draw,"<br/>";
echo $away, " -> ", $lose,"<hr/>";
}
$id = isset($_POST['id']) && is_numeric($_POST['id']) ? $_POST['id']:false;
if (isset($_POST) && $_POST['select'] == 1){
$select = $_POST['select'];
$select = $win + $select;
mysql_query("UPDATE test SET win='$select' WHERE id='$id'");
header('Location: ../seria.php');
}else if (isset($_POST) && $_POST['select'] == 'X'){
$select = $_POST['select'];
$select = '1';
$select = $draw + $select;
mysql_query("UPDATE test SET draw='$select' WHERE id='$id'");
header('Location: ../seria.php');
}else if (isset($_POST) && $_POST['select'] == 2){
$select = $_POST['select'];
$select = '1';
$select = $lose + $select;
mysql_query("UPDATE test SET lose='$select' WHERE id='$id'");
header('Location: ../seria.php');
}
?>
最佳答案
问题出在您的按钮名称上。您应该为每个按钮名指定一个不同的名称,以便服务器知道要提交的表单。您可以尝试根据id给出按钮名称,如下所示:
<input type='submit' name='submit<?php echo $id; ?>' value='Submit'/>
那么您可以执行条件语句来查看单击了哪个按钮,如下所示:
if ( isset( $_POST['submit$id'] ) ) { }
关于php - 提交时出现PHP错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17099166/