我是一个完整的PHP / MySQL新手,非常感谢帮助将数组中每个值的位置存储到相应的DB表列中。数组中的值本身对应于DB表中的一列。
在我的php表单处理页面中,我有数组$ rankArray,其中每个值对应于我的数据库表中的一列。我想要做的是将每个值的位置保存到其对应的列。例如,如果
$rankArray = [2,5,3,4,1]
它应该在第2列存储'1',在第5列存储'2',在第3列存储'3'等等。
答案 0 :(得分:1)
我会做类似的事情:
$rankArray = [2,5,3,4,1];
$flipped = array_flip($rankArray);
ksort($flipped);
现在翻转应按此顺序排列:[5,1,3,4,2]并且您的值可以插入到正确的列中。
这是有效的,因为array_flip返回一个数组,其中键和值被翻转,然后ksort确保数组键被排序。
答案 1 :(得分: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。