私は私のテーブルにこれらの3つの異なる配列を挿入しようとしている:そう、PHPのmysqlの、3種類の配列(異なる長さの1)からデータを挿入する
Array
(
[0] => 1
[1] => 2
)
Array
(
[0] => 2017-01-01
[1] => 2017-01-02
[2] => 2017-01-03
[3] => 2017-01-04
[4] => 2017-01-05
[5] => 2017-01-06
[6] => 2017-01-07
[7] => 2017-01-08
[8] => 2017-01-09
[9] => 2017-01-10
[10] => 2017-01-11
[11] => 2017-01-12
[12] => 2017-01-13
[13] => 2017-01-14
[14] => 2017-01-15
[15] => 2017-01-16
[16] => 2017-01-17
[17] => 2017-01-18
[18] => 2017-01-19
[19] => 2017-01-20
[20] => 2017-01-21
[21] => 2017-01-22
[22] => 2017-01-23
[23] => 2017-01-24
[24] => 2017-01-25
[25] => 2017-01-26
[26] => 2017-01-27
[27] => 2017-01-28
[28] => 2017-01-29
[29] => 2017-01-30
[30] => 2017-01-31
)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 3
[4] => 3
[5] => 3
[6] => 1
[7] => 2
[8] => 4
[9] => 4
[10] => 4
[11] => 4
[12] => 1
[13] => 2
[14] => 3
[15] => 3
[16] => 3
[17] => 3
[18] => 1
[19] => 2
[20] => 4
[21] => 4
[22] => 4
[23] => 4
[24] => 1
[25] => 2
[26] => 3
[27] => 3
[28] => 3
[29] => 3
[30] => 1
)
配列は、クエリを選択し、いくつかのSQLで満たされています最初の配列($arrayUsers
)は常に異なる長さですが、2番目の配列($arrayData
)と3番目の配列($arrayTurno
)は常に同じ長さになります。
私はこのような何かをしたい:上
|id(first array)|date(second array)|shift(third array)|
|1 |2017-01-01 |1 |
|1 |2017-01-02 |2 |
|1 |2017-01-03 |3 |
|1 |2017-01-04 |3 |
|... |... |... |
|2 |2017-01-01 |1 |
|2 |2017-01-02 |2 |
|2 |2017-01-03 |3 |
|2 |2017-01-04 |3 |
|... |... |... |
そしてそう。
私は次のコードでしようとしている:
foreach($arrayUsers as $user) {
$sql = "INSERT INTO `escala`(`id_assistente`, `id_data`, `id_horario`) VALUES";
for ($i = 0; $i < count($arrayTurno); $i++) {
$sql .= "('$user', '$arrayData[$i]','$arrayTurno[$i]'),";
}
}
$sql = rtrim($sql, ',');
echo $sql;
$result = mysqli_query($conn,$sql);
問題は、私が唯一の最初の配列の最後の番号を取得することです。
ご協力いただきありがとうございます。
私はそれがとても簡単だとは信じられません!本当にありがとうございます。それはうまく働いています – Motorui
私は私の答えでINSERTの重複部分を見逃しました。よくやった :) – icecub