0

我是一个完整的 PHP/MySQL 新手,非常感谢一些帮助将数组中每个值的位置存储到适当的数据库表列。数组中的值本身对应于 DB 表中的一列。

在我的 php 表单处理页面中,我有数组 $rankArray,其中每个值对应于我的数据库表中的一列。我想要做的是将每个值的位置保存到其对应的列中。例如,如果

$rankArray = [2,5,3,4,1]

它应该在第 2 列中存储“1”,在第 5 列中存储“2”,在第 3 列中存储“3”,等等。

4

2 回答 2

1

我会做类似的事情:

$rankArray = [2,5,3,4,1];
$flipped = array_flip($rankArray);
ksort($flipped);

现在翻转应该是这个顺序的数组:[5,1,3,4,2] 并且您的值可以插入到正确的列中。

这是有效的,因为 array_flip 返回一个键和值被翻转的数组,然后 ksort 确保对数组键进行排序。

于 2012-11-08T18:58:34.873 回答
0

尝试:

$query = "INSERT INTO TABLENAME VALUES (";
$rankArray = array(2,5,3,4,1);
sort($rankArray);
foreach($rankArray as $k => $v) {
$query .= "'" . $v . "'";
if(isset($rankArray[$k+1]))
  $query .= ",";
}
 $query .= ")";
 print_r($query);

演示

注意:不推荐使用 Mysql 扩展,如果可能,请使用 Mysqli 或 PDO_Mysql。

于 2012-11-08T19:12:01.527 回答