• 15-02-2020, 00:10:21
    #10
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Baktım.
    Dynamic form kullanmışsınız buna gerek yok.Şöyle bir senaryo uygular mısın?
    Formdaki satırı (soru ile ilgili bilgileri) içeren bir div oluştur ve jquery ile append et.
    Input namelerini şu şekilde yapabilirsin. name="soru[0][c1]", name="soru[0][dogru_cevap]"
    Buradaki sıfırı her yeni input grubu eklenmesinde arttır. Örneğin 0 dan başladıysa son inputun indexini(sırasını) öğren ve sonrakine bir fazlasını ver.

    Belki bu yola hiç başvurmana da gerek kalmaz. Dynamic form'da submit olduğunda gönderdiğin json metnini görebilir miyim? Bir de öyle göreyim. Olmadı phpde farklı bir döngüyle çözeriz. Kullandığın yöntem yanlış değil ama farklı ve dolambaçlı
    Bu şekilde
    Edit--
    {"dynamic_form[dynamic_form][0][p_name]":"Soru Adı","dynamic_form[dynamic_form][0][c1]":"Şık1","dynamic_form[dynamic_form][0][c2]":"Şık2","dynamic_form[dynamic_form][0][c3]":"Şık3","dynamic_form[dynamic_form][0][c4]":"Şık4","dynamic_form[dynamic_form][0][dogru]":"D\tCevap (1-4 arası bir sayı yazın.)","dynamic_form[dynamic_form][1][p_name]":"Soru Adı","dynamic_form[dynamic_form][1][c1]":"Şık1","dynamic_form[dynamic_form][1][c2]":"Şık2","dynamic_form[dynamic_form][1][c3]":"Şık3","dynamic_form[dynamic_form][1][c4]":"Şık4","dynamic_form[dynamic_form][1][dogru]":"Doğru Cevap"}
  • 15-02-2020, 00:20:57
    #11
    epicsosyal adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde
    Edit--
    {"dynamic_form[dynamic_form][0][p_name]":"Soru Adı","dynamic_form[dynamic_form][0][c1]":"Şık1","dynamic_form[dynamic_form][0][c2]":"Şık2","dynamic_form[dynamic_form][0][c3]":"Şık3","dynamic_form[dynamic_form][0][c4]":"Şık4","dynamic_form[dynamic_form][0][dogru]":"D\tCevap (1-4 arası bir sayı yazın.)","dynamic_form[dynamic_form][1][p_name]":"Soru Adı","dynamic_form[dynamic_form][1][c1]":"Şık1","dynamic_form[dynamic_form][1][c2]":"Şık2","dynamic_form[dynamic_form][1][c3]":"Şık3","dynamic_form[dynamic_form][1][c4]":"Şık4","dynamic_form[dynamic_form][1][dogru]":"Doğru Cevap"}
    Burda sıkıntı var hocam Dediğim yöntemi dener misin?
    • epicsosyal
    epicsosyal bunu beğendi.
    1 kişi bunu beğendi.
  • 15-02-2020, 10:36:46
    #12
    Üyeliği durduruldu
    foreach($_POST['dynamic_form']['dynamic_form'] as $formvalues):
    $questionTitle = $formvalues['p_name'];
    $c1 = $formvalues['c1'];
    $c2 = $formvalues['c2'];
    $c3 = $formvalues['c3'];
    $c4 = $formvalues['c5'];
    $answer = $formvalues['dogru'];
    $insert = $db->prepare("INSERT INTO sorular(soru,c1,c2,c3,c4,dogru_cevap) VALUES (?,?,?,?,?,?)");
    $insert->execute([$questionTitle,$c1,$c2,$c3,$c4,$answer]);
    if($insert->rowCount() > 0){
    echo 'Ekleme başarılı';
    }else{
    echo 'Ekleme başarısız';
    }
    endforeach;
    Dinamik form elemanlarını yukarıdaki gibi foreach döngüsüne alarak çözümünüzü yaptım kendinize göre uygulayıp deneyebilirsiniz
  • 15-02-2020, 13:56:52
    #13
    Larus adlı üyeden alıntı: mesajı görüntüle
    foreach($_POST['dynamic_form']['dynamic_form'] as $formvalues):
    $questionTitle = $formvalues['p_name'];
    $c1 = $formvalues['c1'];
    $c2 = $formvalues['c2'];
    $c3 = $formvalues['c3'];
    $c4 = $formvalues['c5'];
    $answer = $formvalues['dogru'];
    $insert = $db->prepare("INSERT INTO sorular(soru,c1,c2,c3,c4,dogru_cevap) VALUES (?,?,?,?,?,?)");
    $insert->execute([$questionTitle,$c1,$c2,$c3,$c4,$answer]);
    if($insert->rowCount() > 0){
    echo 'Ekleme başarılı';
    }else{
    echo 'Ekleme başarısız';
    }
    endforeach;
    Dinamik form elemanlarını yukarıdaki gibi foreach döngüsüne alarak çözümünüzü yaptım kendinize göre uygulayıp deneyebilirsiniz
    @Larus; hocam özel olarak Skype üzerinden yardımcı oldu , herkese teşekkür ederim.

    Güncel KOD
    $json = $_POST['myJSON'];
    
    $newDate = str_replace('dynamic_form', '', $json);
    $newData = str_replace('[]', '', $newDate);
    echo "<br/>";
    echo $newData;
    $someArray = json_decode($newData, true);
    print_r($someArray);
    //echo count($someArray);
    $countAll = count($someArray) / 6;
    for ($i = 0; $i < $countAll; $i++) {
        //echo $someArray[$i]['p_name'];
        echo $soru_adi = $someArray['[' . $i . '][p_name]'];
        $c1 = $someArray['[' . $i . '][c1]'];
        $c2 = $someArray['[' . $i . '][c2]'];
        $c3 = $someArray['[' . $i . '][c3]'];
        $c4 = $someArray['[' . $i . '][c4]'];
        $answer = $someArray['[' . $i . '][dogru]'];
    
        $insert = $db->prepare("INSERT INTO sorular(soru,c1,c2,c3,c4,dogru_cevap) VALUES (?,?,?,?,?,?)");
        $insert->execute([$soru_adi, $c1, $c2, $c3, $c4, $answer]);
        if ($insert->rowCount() > 0) {
            echo 'Ekleme başarılı';
        } else {
            echo 'Ekleme başarısız';
        }
    }