2012-11-08 29 views
0

我是一個完整的PHP/MySQL newb,並且非常感謝將某個數組中的每個值的位置存儲到適當的數據庫表列中的一些幫助。數組中的值本身對應於DB表中的一列。將數組中的值的位置存儲到數據庫表列

在我的php表單處理頁面中,我有數組$ rankArray,其中每個值對應於我的數據庫表中的一列。我想要做的是將每個值的位置保存到相應的列。例如,如果

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

應該存儲 '1' 第2欄, '2' 在5列, '3' 列3等

回答

1

我會做這樣的事情:

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

現在翻轉應該是這樣的順序的數組:[5,1,3,4,2]和您的值可以插入到正確的列。

這是可行的,因爲array_flip返回鍵和值翻轉的數組,然後ksort確保數組鍵被排序。

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); 

Demo

注: Mysql的擴展已被棄用,如果可能的話用的MySQLi或PDO_MYSQL。

相關問題