0

私は完全なPHP/MySQLの初心者であり、配列内の各値の位置を適切なDBテーブル列に格納するのに役立つことを本当に感謝しています。配列内の値自体は、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 に答える