İşte benim mesele: benim denetleyicisi, ben bir formdan kullanıcı girişi kapmak istiyorum. Daha sonra giriş ayrıştırmak ve ben doğru girişi kapma ediyorum sağlamak için veritabanı değerleri karşılaştırın. Ben sadece, sorunun kullanıcının cevapları neticesinde kullanıcı kimliği, soru kimliği kapmak ve sonra cevap çoklu seçim ya da onay kutusunu soruya, ya da başka bir şey için geçerli olup olmadığını belirlemek istiyor. Ben bu değerleri alıp cevap tabloya takın. Feragat şeyler görmezden. Ben doğru cevaplar girişini aldıktan sonra bunu test edeceğiz.
// add answers and waiver consent records
try {
$answerArray = array();
$waiverArray = array();
// retrieve answers, waiver consents, and the question ID's from form object
foreach ($formData as $key => $value) {
$parts = explode("_", $key);
if ($parts[0] == 'question') {
array_push($answerArray, $value);
}
if ($parts[0] == 'waiverTitle') {
array_push($waiverArray, $value);
}
}
$questions = new Model_DbTable_Questions();
$questionResults = $questions->getQuestionResults($session->idEvent);
foreach ( $questionResults as $qr ) {
if ($qr ['questionType'] == 'multipleChoice' || $qr ['questionType'] == 'checkBox') {
foreach ( $answerArray as $aa ) {
$answerData = $answers->addAnswer ( $lastUserID, $qr ['idQuestion'], null, $aa );
echo count ( $answerData ) . ', ' . $qr ['questionType'] . ', ' . $aa . '<br />';
}
} else {
foreach ( $answerArray as $aa ) {
$answerData = $answers->addAnswer ( $lastUserID, $qr ['idQuestion'], $aa, null );
echo count ( $answerData ) . ', ' . $qr ['questionType'] . ', ' . $aa . '<br />';
}
}
}
}
catch (Zend_Db_Statement_Exception $e)
{
$e->getMessage();
throw $e;
}
Benim test verilerinden, ben çoktan seçmeli ve onay kutusunu kriterleri, ve bu gibi ELSE maddesinde metin için 1 rekoru 2 kayıtları almak için bekliyoruz:
3, checkbox, 1
3, multipleChoice, 1
3, text, question_2
Ne olsun 3x3 Kartezyen ürün, 3 soru elemanları yankı ifadelerinden bu çıkışı gibi 3 olası cevapları ile her biri:
4, checkBox, 1
4, checkBox, 1
4, checkBox, question_2
4, multipleChoice, 1
4, multipleChoice, 1
4, multipleChoice, question_2
4, text, 1
4, text, 1
4, text, question_2
Ben iç foreach içindeki IF tümcesi yerleştirerek denedim, ama ben aynı sonuçları almak. Ben çok uzun bir yol bu soruna bakarak oldum ve ben ne yapıyorum yanlış göremiyorum. Senin tür yardım büyük mutluluk duyacağız. Benim isteği daha fazla açıklama gerektirir varsa bana bildirin lütfen.