Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP同时更新多行_Php_Mysqli_Rows - Fatal编程技术网

PHP同时更新多行

PHP同时更新多行,php,mysqli,rows,Php,Mysqli,Rows,我有一张插入了大约1000行的桌子。它们用自己的ID和使其唯一的特定代码进行分类 一个简单的例子是: id | site | player | char | 1 | site 1| play1 | | 2 | site 2| play1 | | 3 | site 3| play1 | | 4 | site 4

我有一张插入了大约1000行的桌子。它们用自己的ID和使其唯一的特定代码进行分类

一个简单的例子是:

id    |  site  | player    |  char          |
1     |  site 1| play1     |                |
2     |  site 2| play1     |                |
3     |  site 3| play1     |                |
4     |  site 4| play1     |                |
5     |  site 2| play2     |                |
6     |  site 2| play3     |                |
7     |  site 3| play2     |                |
8     |  site 4| play2     |                |
9     |  Site 1| play2     |                |
10    |  Site 2| play4     |                |
我需要按站点更新玩家信息。因此,我选择了站点(示例站点2),然后它创建了一个带有播放器名称的表单和一个输入框来插入数据:

站点2编辑:

Play1 - Char [INPUTBOX]
Play2 - Char [INPUTBOX]
Play3 - Char [INPUTBOX]
Play4 - Char [INPUTBOX]
最好的方法是什么,而不是创建一个代码来手动更新每一个(这不是一个好主意,因为它可以同时进行1000或5000次编辑)来编辑输入框中为站点2生成的每个“播放”放置的所有信息

有没有可以使用的示例代码?等待你的建议。谢谢


注意:我更喜欢使用这种方式,因为它基本上是来自另一个源的副本/过去的更新,所以从同一个站点同时更新所有数据比逐个站点更新每个用户要快得多。

最好的办法是将当前玩家信息从datatabase中取出,然后使用当前信息附加数据新栏目

$db = mysqli_connect("host", "user", "pass", "name");
foreach($db->query("select * from table") as $row):
    $player = $row['player'];
    $sql = "INSERT INTO table (player,char) VALUES ('$player', '$char')";
    if(!$db->query($sql)): echo $player." upload failed..."; endif;
endforeach;
所以我们把每个人的名字都取出来,我建议你可以制作一个每个玩家都会拥有的字符的
数组
,然后按
的顺序查询它,这样它就可以匹配你的数组了


希望这有帮助。(这种方式是自动的,当脚本运行时,它会对每个玩家执行。)

for
语句在这里很有用->(仅供参考-添加您尝试过的代码,否则您将得不到答案)我真的不需要代码。我正在寻找最好的方法。我已经考虑过for循环,但是我应该如何设计表单,以便在更新和更新正确的数据时运行它们呢?这是我的问题。我没有得到正确的设计方法。也许如果我使用一个新表来插入数据会更好?例如,我有一个包含所有玩家和站点的表。在一个新表中,我可以用一个简单的for插入所有信息。或者,即使我的表单输入名为“player_site”,我也可以在两个变量中对其进行内爆,然后使用该信息进行更新(更新***,其中player=$inpulode1和site=$inpulode2)。这是第二个选项的一个好方法吗?上面的代码将为您做到这一点,它将从数据库中取出每个播放器,向其中添加一个
char
,然后将其放入新表中。