如何使用键添加数组到数据库

时间:2016-03-19 19:15:38

标签: php arrays sorting pdo

我正在寻找一种方法来排序字段,并使用name=sort[ID]获取排序值 并使用排序名称获取此数组:

Array ( [201] => 1 [247] => 2 [25] => 3 [200] => 4 [249] => 5 [183] => 6)

我应该如何获取值和ID以及UPDATE呢?

我有这个pdo代码,但它没有得到数组的索引:

$sortArray = array(
    '100' => 1,
    '203' => 2,
    '325' => 3,
    '123' => 4
);
$pdoConn = new PDO(); // Add your connection string and so on here
$stm = $pdoConn->prepare('UPDATE mytable SET `sort` = ? WHERE `id` = ?');
foreach($sortArray as $s){
   $stm->execute($s);
}

谢谢

1 个答案:

答案 0 :(得分:2)

如果您有这样的数组:

$sortArray = array(
    '100' => 1,
    '203' => 2,
    '325' => 3,
    '123' => 4
);

你想要做的是更新数据库中的表,以便id为100的行获得排序值1,id为203的行获得排序值2,依此类推。 这就是我理解你的问题的方法,以及你如何做到这一点:

$pdoConn = new PDO(); // Add your connection string and so on here
$stm = $pdoConn->prepare('UPDATE mytable SET `sort` = ? WHERE `id` = ?');
foreach( $sortArray as $id => $sort )
{
    $stm->execute(array($sort, $id));
}

这将遍历数组,并将列排序更新为相应id的排序值。

希望这能回答你的问题。