ホームページ >バックエンド開発 >PHPチュートリアル >PHPで複数の配列の組み合わせをデータベースに書き込む方法を探しています

PHPで複数の配列の組み合わせをデータベースに書き込む方法を探しています

WBOY
WBOYオリジナル
2016-06-23 14:25:051360ブラウズ

この投稿は wjm_hi によって最終編集されました: 2013-10-25 15:55:24

スコア管理システムを作成しています

// Subject
$xk = array()

// Grade
$nj = array ( );

//クラス
$bj = array();

科目 * 学年 * クラスの式に従ってデータがいくつ生成され、データベースに書き込まれます。
例:
count($xk) が 2 の場合、2 つの科目が選択されることを意味します。
count($nj) が 3 の場合、3 つの学年が選択されることを意味します。
count($bj) が 7 の場合、 7 つのグレードを選択することを意味します
このとき、データベースに 2*3*7 個のデータを挿入する必要があります。ループし、データ添字を最後までループします データベースへの書き込み、私の PHP 基礎が不十分です、助けてください

19263c46c5adf0eddb44b858ed16d249


ハロー、間違ってました。 ,

理解方法

$xk=Array ("1","2");
$nj=Array ("1","2","3");配列 ("1","2","3","4","5","6","7");
$xk=count($xk); $nj=count($nj ); ;

$bj=count($bj);

echo $test;

を生成したい場合はどうすればよいですか? INSERT INTO ステートメントを書きます



INSERT INTO `examinfo` (`nj`,`bj`,`xk`) VALUES ($nj ,$bj ,$xk)、VALUES の後に $xk ほど多くの項目を挿入する必要がありますか? *$nj*$bj 、その方法

ハイライト領域に移動して、デカルト積を計算するためのコードを見つけます

愚かなメソッドを作成します。
$xk=配列 ("1","2");
$nj=配列 ("1","2","3");
$bj=配列 ("1","2","3); ","4","5","6","7");
$arr = array();
for($i=0;$i for ($j=0;$j for($k=0;$k $arr[] = array($xk [$i],$nj[$j],$bj[$k]);
}

}

}

foreach($arr as $row){

//データを挿入
}

これはとても複雑ですか? 、FORで出来ますか?

for($i=0;$i

$xk=Array ("1","2");$nj=Array ("1","2","3");$bj=Array ("1","2","3","4","5","6","7");$arr = array();for($i=0;$i<count($xk);$i++){	for($j=0;$j<count($nj);$j++){		for($k=0;$k<count($bj);$k++){			$arr[] = array($xk[$i],$nj[$j],$bj[$k]);		}	}}foreach($arr as $row){	//插入数据}


バカなメソッドを書きます。
$xk=配列 ("1","2");
$nj=配列 ("1","2","3");
$bj=配列 ("1","2","3); ","4","5","6","7");
$arr = array();
for($i=0;$i for ($j=0;$j for($k=0;$k $arr[] = array($xk [$i],$nj[$j],$bj[$k]);
}

}

}

foreach($arr as $row){

//データを挿入
}

これは機能するようです、 foreach 内部にデータを挿入する SQL ステートメントの書き方

$xk=Array ("1","2");$nj=Array ("1","2","3");$bj=Array ("1","2","3","4","5","6","7");$arr = array();for($i=0;$i<count($xk);$i++){	for($j=0;$j<count($nj);$j++){		for($k=0;$k<count($bj);$k++){			$arr[] = array($xk[$i],$nj[$j],$bj[$k]);		}	}}foreach($arr as $row){	//插入数据}



呼び出しメソッド //Insert data をエコーできますか?

すごいです

私が欲しいのは、INSERT INTO `examinfo` (`nj`,`bj`,`xk`) VALUES ($nj ,$bj ,$xk) を // insert data に入れたいのです。場所はどう書けばいいのでしょうか?

$xk=Array ("1","2");$nj=Array ("1","2","3");$bj=Array ("1","2","3","4","5","6","7");$arr = array();for($i=0;$i<count($xk);$i++){	for($j=0;$j<count($nj);$j++){		for($k=0;$k<count($bj);$k++){			$arr[] = array($xk[$i],$nj[$j],$bj[$k]);		}	}}foreach($arr as $row){	//插入数据}


$xk=Array ("1","2");$nj=Array ("1","2","3");$bj=Array ("1","2","3","4","5","6","7");$arr = array();for($i=0;$i<count($xk);$i++){	for($j=0;$j<count($nj);$j++){		for($k=0;$k<count($bj);$k++){			$arr[] = array($xk[$i],$nj[$j],$bj[$k]);		}	}}foreach($arr as $row){	$sql = "INSERT INTO `examinfo` (`nj`,`bj`,`xk`) VALUES ('".$row[0]."' ,'".$row[1]."','".$row[2]."')";}


ありがとうございます。ただし、この SQL ステートメントを最適化できれば最善です。 INSERT INTO `examinfo` (`nj`,`bj`,`xk`) VALUES ($nj , $bj , $xk) この文は INSERT INTO `examinfo` (`nj`,`bj`,`xk`) VALUES (1,1,1),(1,1,2) にすると常にループします。 ),(1 ,1,3) このような SQL ステートメントは完璧です。

めまいがする。お兄さん、それを実現したいなら自分で考えたらどうですか。他人があなたのためにすべてをやってくれることを期待することはできません。他人はあなたにアイデアを与えることしかできません。 。

めまいがする。お兄さん、それを実現したいなら自分で考えたらどうですか。他人があなたのためにすべてをやってくれることを期待することはできません。他人はあなたにアイデアを与えることしかできません。 。


さて、このアイデアなら続けられます、ありがとう、最適化のアイデアがあります、ありがとう

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:memcache利用環境次の記事:memcache利用環境