PHP MySQL bir "dinamik" den veritabanına ilişkisel dizi eklemek

0 Cevap php

Ben alanların çoğaltılması için izin veren bir form var. Form php aracılığıyla gönderilen ve bir veritabanına eklenir. Benim sorunum doğru diziye döngü gibi olamaz. Ben (name 'nin doğru şekilde biçimlendirilmiş) ve ben doğru diziler döngü am formu doğru kuruyorum? Ben takılı herhangi bir veri almak başarılı değilim.

Hüner çoğaltılamaz alanları birbirine sopa gereken olmasıdır.

Soru ve cevap setleri gibi alanları düşünün.

Her soru bir başlık, soru metni ve bir dosya girişi vardır.

Her cevap bir başlık, cevap metni bir dosya girişi ve doğru cevabı not için bir onay kutusu vardır.

Ben name 'ın şöyle kurdunuz:

name='question[1][title]'
name='question[1][text]'
name='question[1][file]'

answer[1][title][]
answer[1][text][]
answer[1][file][]
answer[1][correct][]

Aşağıdaki gibi form eklemek için php:

$insert_question = $db->prepare(
   'insert into questions (title, text) values (?, ?)');
$insert_answer = $db->prepare(
   'insert into answers (question_id, title, text, correct)'.
   ' values (?, ?, ?, ?)');
foreach ($_POST['question'] as $q_num => $q)
{
   $insert_question->execute(array($q['title'], $q['text']));
   $q_id = $db->lastInsertId();

   //********************
   // insert files
   //********************

   foreach ($_POST['answer'][$q_num] as $a)
   {
      $insert_answer->execute(
         array($q_id, $a['title'], $a['text'], $a['correct']));
   }
}

Bu böyle büyük bir soru olduğunu üzgünüm. Ben şimdi iki gün boyunca bu üzerinde çalışıyor ve fikir tükendi var.

0 Cevap