v2.5.2
Giriş yap

Çoklu input insert etme

rephp7
545 defa görüntülendi
$icerik="";
    for ($i=1; $i < 20; $i++) {         
      $y=$db->filter("adi".$i);
         if (!empty($y)) {
               
    $adi[$i]= $db->filter("adi".$i);
    $soyadi[$i]= $db->filter("soyadi".$i);
    $isim[$i]= $adi[$i]." ".$soyadi[$i];

    $yazar_sira[$i]= $db->filter("yazar_sira".$i);
    
  }else{
    break;
  }
    }

    $m_yazar_ekle="";
    for ($i=1; $i < 20; $i++) {  
      if (!empty($adi[$i])) {  
    $m_yazar_ekle = $db->SorguCalistir(

      "INSERT INTO yazarlar",
      "SET yazar=?,adi=?,soyadi=?,yazar_sira=?",
      array($isim[$i],$adi[$i],$soyadi[$i],$yazar_sira[$i])
    );
  }else{
    break;
  }
}

HTML Yapımda şu şekilde

...
<input type="text" class="form-control" placeholder="Yazarın adı…" name="adi1">
<input type="text" class="form-control" placeholder="Yazarın soyadı…" name="soyadi1">
...

<button type="button" class="btn btn-info btn-circle" style="float:right;" onclick="yeniekle()">
    <i class="fa fa-plus"></i>
</button>

inputları ekleyeceğim yazar sayısına göre javascript ile çoğaltıyorum.

function yeniekle() {
  let writersLength = $(".writers").length;

  let icerik = `
  
<input type="text" class="form-control " placeholder=" Yazarın adı…" name="adi${writersLength + 1}">
...

Sonuç hata ile sonuçlanıyor, insert etmiyor.

Hatam nerede çözemedim?

rephp7
994 gün önce

 $adi = isset($_POST['adi']) ? $_POST['adi'] : "" ;
 $soyadi = isset($_POST['soyadi']) ? $_POST['soyadi'] : "" ;
 $yazar_sira = isset($_POST['yazar_sira']) ? $_POST['yazar_sira'] : "" ;
    
    foreach($adi as $key=>$value){
        $m_yazar_ekle = $db->SorguCalistir(
          "INSERT INTO yazarlar",
           "SET adi=?,soyadi=?,yazar_sira=?",
            array($adi[$key],$soyadi[$key],$yazar_sira[$key])
                );
       }

HTML Yapımda şu şekilde

...
<input type="text" class="form-control" placeholder="Yazarın adı…" name="adi[]">
<input type="text" class="form-control" placeholder="Yazarın soyadı…" name="soyadi[]">
...

<button type="button" class="btn btn-info btn-circle" style="float:right;" onclick="yeniekle()">
    <i class="fa fa-plus"></i>
</button>

inputları ekleyeceğim yazar sayısına göre javascript ile çoğaltıyorum.

function yeniekle() {
  let writersLength = $(".writers").length;

  let icerik = `
  
<input type="text" class="form-control " placeholder=" Yazarın adı…" name="adi[]">
...

@abdullahx son yorumuzdan yola çıkarak şöyle bir değişiklik yoluna gittim ama yine başarı elde edemedim.
0 numaralı indise istek atıyor ama array daki diğer indisleri görmüyor.