使用一个PHP提交按钮更新多个MySQL行
我最难弄明白我认为应该简单的事情。我需要用一个提交按钮更新数据库中的多行。我现在为每一行使用提交,但我需要合并它。这是我正在尝试的。我哪里出错了?(我在网上找到了很多教程,我想我把所有的东西都弄混了) 以下是表格:使用一个PHP提交按钮更新多个MySQL行,php,mysql,database,Php,Mysql,Database,我最难弄明白我认为应该简单的事情。我需要用一个提交按钮更新数据库中的多行。我现在为每一行使用提交,但我需要合并它。这是我正在尝试的。我哪里出错了?(我在网上找到了很多教程,我想我把所有的东西都弄混了) 以下是表格: <?php foreach ($teams as $team): $id[]=$team['id'];?> <form action="?update" method="post"> <div class="team-box">
<?php foreach ($teams as $team):
$id[]=$team['id'];?>
<form action="?update" method="post">
<div class="team-box">
<h2><?php echo $team['name'] ?></h2>
<label for="name">Name:</label>
<input type="text" name="name" value="<?php echo $team['name'] ?>" />
<label for="name">Match Wins:</label>
<input type="text" name="mwins" value="<?php echo $team['mwins'] ?>" />
<label for="name">Match Losses:</label>
<input type="text" name="mlosses" value="<?php echo $team['mlosses'] ?>" />
<label for="name">Match Ties:</label>
<input type="text" name="mties" value="<?php echo $team['mties'] ?>" />
<label for="name">Game Wins:</label>
<input type="text" name="gwins" value="<?php echo $team['gwins'] ?>" />
<label for="name">Game Losses:</label>
<input type="text" name="glosses" value="<?php echo $team['glosses'] ?>" />
<input type="hidden" name="id" value="<?php echo $team['id'] ?>" />
</div>
提前谢谢 由于每个更新查询的所有字段名称都会发生更改,因此您需要像以前一样执行单独的查询。我认为您无法执行单个更新查询
我不明白,执行几个更新查询有什么问题?有几个问题需要解决
name123="Rangers"
mwins174="123"
那么你需要所有的身份证。您可以通过在foreach中发布以下命令来实现:
<input type="hidden" name="id[]" value="<?php print $team['id']; ?>" />
这样你就有了一个提交和多个更新。原则上我可以这样做。。。但这不是我对foreach循环所做的吗?(我不熟悉php,所以可能弄错了)。但我的理解是,foreach循环通过每个条目(通过id)循环,并为每个条目提交一个单独的查询。要么我不明白你的问题是什么,要么我会像你已经做的那样编写代码(每个id一个更新查询)。没有$_POST['name'。$id]只有$_POST['name')。如果重复上述内容,你想要name=“name[]”查看print\r($\u POST)以了解您正在使用的内容
<input type="hidden" name="id[]" value="<?php print $team['id']; ?>" />
<input type="hidden" name="id[]" value="123" />
...
<input type="hidden" name="id[]" value="456" />
<input type="text" name="name[<?php print $team['id']; ?>]" value="...
foreach($id as $team_id)
{
// Pseudocode
UPDATE... SET name=$name[$team_id]... WHERE id = $team_id;
}