php - 如何从数组更新表?

标签 php mysql arrays

$query = "SELECT users FROM tabl ORDER BY RAND()";
$result = mysql_query ($query)
    or die ("Query '$query' failed with error message: \"" . mysql_error () . '"');

while ($row = mysql_fetch_array($result)) {
    $users[] = $row[0];
}

$current = end($users);
$partners = array();
foreach ($users as $user)
{
        $partners[$user] = $current;
        $current = $user;
}
print_r($partners);

$query2 = "UPDATE tabl SET partner = {$partners[0]} WHERE users = '$users'";
mysql_query ($query2)
    or die ("<br>Query '$query2' failed with error message: \"" . mysql_error () . '"');

这就是我正在使用的代码。在 query2 之前一切都很好。我已经尝试了所有我能想到的变体,但没有任何效果。

该表有两个字段:用户和合作伙伴。该代码以随机顺序拉出用户,然后将他们分配给彼此,形成一个圆圈。我需要用任务填充合作伙伴字段。

最佳答案

将更新查询放在 foreach 循环中,然后您就可以使用合作伙伴和用户变量,而无需稍后深入数组:

foreach ($users as $user)
{
        $partners[$user] = $current;
        $current = $user;
        $query2 = "UPDATE tabl SET partner = '{$partners[$user]}' WHERE users = '{$user}'";
        mysql_query ($query2)
          or die ("<br>Query '$query2' failed with error message: \"" . mysql_error ()
}

关于php - 如何从数组更新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3141919/

相关文章:

php - 不重复地循环和排序结果

mysql - SQL Server 2005/2008 - 通过命令行导入固定宽度的文本文件?

mysql - 如何在数据库中实现自定义字段

java - 在联系人列表数组中按姓氏排序

php - 在 HHVM 中加载 php 扩展

php - 显示 2 个表中的数据 - 此集合实例上不存在属性 [名称]

php - 使用按钮删除 MySQL 行

mysql - 使用正则表达式将字符串转换为 mysql 查询

javascript - 对数组对象进行降序排序(最大长度优先。)

arrays - 为什么 [SomeStruct] 不能转换为 [Any]?