私は過去4時間、問題を次々と抱えてこれに取り組んできました。ようやくほとんどの問題が解決した今、最終的な問題の解決策を見つけることができないようです。
問題: 学生に電子メールを送信する必要があります (電子メールは DB に保存されます)。電子メールには、リスト アイテムを含む順序付けられていないリストが必要です。その部分は簡単な部分でした (html メール)。私が今直面している問題は、値ではなく、フォームの実際の名前を取得したいということです。
値="1" 値="2"
それはフォームが何であるかについて学生に多くの情報を提供しません.
これらは私の入力フィールドです:
<label id="form"><input type="checkbox" name="form[]" value="3" >DECSP</label>
<label id="form"><input type="checkbox" name="form[]" value="4" >DESNAP</label>
値が単なる数値であることに再び気付いた場合は、DESCP と DESNAP のフォームの名前を実際に取得したいと思います。
これは私が試したものです:
$body .= '<ul>';
$forms = $this->input->post('form'); // The check boxes
$dbforms = $this->queue_model->first10() + $this->queue_model->elev9() + $this->queue_model->twenty_5() + $this->queue_model->twen8thir7() + $this->queue_model->checklists(); // Here I take the forms from the database and combine the arrays
$givenforms = array_intersect_assoc($dbforms, $forms); // Here I do an intersect where form_id matches the value
foreach ( $givenforms as $key => $value) { // If a match is good then give me the form_name
$body .= '<li>' . $value . '</li>';
}
$body .= '</ul>';
ここからどこへ行こうか、かなり迷っています。うまくいけば、あなたたちは理解しています。
私が考えられる唯一のことは、
foreach
チェックボックスがオンになっているすべてのフォームをループし、次にクエリでループします
select * forms where form_id = (どのフォームがチェックされたか)
それから
戻る
フォームの実際の名前。
しかし、繰り返しになりますが、これが適切な解決策になるかどうかはわかりません。皆さんが渡すことができる情報を前もって感謝します。
編集1:
学生が受け取ったフォームをデータベースに保存できるように、チェック ボックスは配列にする必要があります。私の他の質問を見てください。