PDO ile Çoklu INSERT İşlemi
Elimizde bulunan 2 dizi var. Bunlardan biri a dizisi olsun diğeri b dizisi.
a dizimizin içinde 3 eleman var. (A1,A2,A3)
b dizimizin içinde 2 eleman var. (B1,B2)
Bu elemanlar artabilir azalabilir.
Bu dizideki elemanları kullanarak INSERT işlemi yapmak. INSERT yapacağımız tablo örneği olarak;
ID | A | B
-------------
1 | A1 | B1
2 | A2 | B1
3 | A3 | B1
4 | A1 | B2
5 | A2 | B2
6 | A3 | B2
Şeklinde işlem yapmamız lazım. Yani elimizde bulunan elemanlarla her kombinasyonda eşleştirme yapmamız gerekiyor. Bir diğer örnekle gösterecek olsak;
a dizimizin içinde 2 eleman var. (C4,C5)
b dizimizin içinde 1 eleman var. (H9)
ID | C | H
-------------
1 | C4 | H9
2 | C5 | H9
Şeklinde bir INSERT işlemi yapmak istiyorum. Umarım anlatabilmişimdir, markdown editörünü de kullandıkça sevmeye başladım, ilk sorularım sorunluydu şimdi çözdüm editörü daha. :)
$a_element = ['a','a1','a2','a3','a4','a5'];
$b_element = ['b','b1','b2','b3','b4','b5'];
$c_element = ['c','c1','c2','c3','c4','c5'];
$all = count($a_element); //toplamda kac tane update olajak sayisi $a_element id olabilir
for($i = 0; $i < $all; $i++){
/* this is demo
$result = $a_element[$i];
$result .= $b_element[$i];
$result .= $c_element[$i];
echo'<pre>';
print_r($result);
echo'</pre>';
*/
$statement = $db->prepare("INSERT INTO table_name (a_element, b_element, c_element,) VALUES ($a_element['$i'], $b_element['$i']), $c_element['$i'])");
$result = $statement->execute(
array(
':a_element' => $a_element['$i'],
':b_element' => $b_element['$i'],
':c_element' => $c_element['$i']
)
);
}