0

次のことをどのように行うのが最善かについて相談したいと思います。

MySQLデータベースに配列として挿入したい特定のプライマリ値があります。これが親であるとしましょう。

array(parent1,parent2,parent3,parent4);

現在、これらの親にはそれぞれ 1 人以上の子供がいます。例:

parent1 => child1,
parent2 => child1,child2,child3,
parent3 => child1, child2, child3

など...

親を追加するフォームを作成します。このフォームを追加すると、X 個の子を追加できます。

そのような状況を処理するための最良の方法は何でしょうか。連想配列が必要になると思います。PHPとMySQLを使用して、アドバイスをください。

4

1 に答える 1

0

次のような配列を作成できます。

$arr = array(
    'parent1' => array('child1'),
    'parent2' => array('child1', 'child2'),
    'parent3' => array('child1', 'child2', 'child3')
);
// Debugging...
var_dump(array_keys($arr)); // These are the parents
var_dump(array_values($arr)); // And these are their children

次に、挿入するには:

var_dump('INSERT INTO `parents` (`name`) VALUES ("'.implode('"), ("', array_keys($arr)).'");'); // These are the parents
foreach ($arr as $parent => $children)
    var_dump('INSERT INTO `children` (`parent_name`, `name`) VALUES ("'.$parent.'", "'.implode('"), ("'.$parent.'", "', array_keys($children)).'");'); // These are the children

var_dump()クエリの実行に使用する対応するメソッドに変更します。

于 2013-03-07T13:29:54.777 に答える