PHP перебирает таблицу форм и отправляет данные в базу данных - PullRequest
0 голосов
/ 21 ноября 2018

Надеюсь, кто-то может помочь с этим, смотрю на это с выходныхУ меня есть форма, которая содержит 3 поля (Имя, Электронная почта, Квартал) и таблицу с несколькими вопросами (для иллюстрации я сократил код до 2 вопросов.

Мне нужны 3 поля (Имя, Электронная почта,Номер) для записи в базу данных с вопросом 1 в строке 1 и с вопросом 2 в строке 2.

Проблема заключается в том, что мой код записывает только 3 поля (имя, адрес электронной почты, номер) в строку 1 (вопрос 1)) и записывает пробелы в строку 2 для 3 полей (имя, адрес электронной почты, номер), поля таблицы записываются успешно. Что я делаю не так?

Просмотр базы данных

Имя Номер электронной почты Ответ KPICodeСовместимые комментарии Joe Joe@test.com 555 k21 да да тест 554 k45 нет нет теста

HTML код:

        <div class="item form-group">
            <div class="form-group">
                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="hfname">Name</label>
                <div class="col-md-6 col-sm-6 col-xs-12">
                    <input type="text" id="name" name="name[]" class="form-control col-md-7 col-xs-12">
                </div>
            </div>
            <div class="form-group">
                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="email">Email:</label>
                <div class="col-md-6 col-sm-6 col-xs-12">
                    <Select type="email" id="email" name="email[]" class="form-control col-md-7 col-xs-12"></select>
                </div>
            </div>
            <div class="form-group">
                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="quarter">Quarter:</label>
                <div class="col-md-6 col-sm-6 col-xs-12">
                    <select id="quarter" name="quarter[]" class="form-control">
                        <option>Choose option</option>
                        <option>Q1</option>
                        <option>Q2</option>
                        <option>Q3</option>
                        <option>Q4</option>
                    </select>
                </div>
            </div>
        </div>
            <table class="table table-bordered">
                <thead class="headings">
                    <tr>
                        <th>Code</th>
                        <th>Category</th>
                        <th>Performance Indicator</th>
                        <th>Response</th>
                        <th>Compliance</th>
                        <th>Notes</th>
                    </tr>
                </thead>

                <tbody>
                    <tr>
                      <td id="env1" name ="code[]" type="text" scope="row">ENV1</td>
                        <td>1.1 KPI</td>
                        <td>KPI Description.</td>
                        <td><select id="response" name="response[]">
                                        <option>Yes</option>
                                        <option>No</option>
                                    </select>
                        </td>
                        <td><select id="Compliance" name="compliance[]">
                                        <option>Compliant</option>
                                        <option>Partially Compliant</option>
                                        <option>Non-Compliant</option>
                                        </select></td>
                        <td><input id="notes" name="notes[]" role="row" Type="text"></td>
                    </tr>                      
                    <tr>

                        <th id="env2" name="code[]" scope="row">ENV2</th>
                        <td>1.2 KPI</td>
                        <td>KPI Description.</td>
                        <td><select id="response" name="response[]">
                                            <option>Yes</option>
                                            <option>No</option>
                                        </select>
                        </td>
                        <td><select id="Compliance" name="compliance[]">
                                            <option>Compliant</option>
                                            <option>Partially Compliant</option>
                                            <option>Non-Compliant</option>
                                            </select></td>
                        <td><input id="notes" name="notes[]" role="row" Type="text"></td>
                    </tr>
                </tbody>
            </table>

Мой php код для записи информации в базу данных:

foreach($_POST['response'] as $index => $val)
{
$response = $val;
$rfname = $_POST['name'][$index];
$HospitalName = $_POST['email'][$index];
$quarter = $_POST['quarter'][$index];
$kpicode = $_POST['code'][$index];
$compliance = $_POST['compliance'][$index];
$notes = $_POST['notes'][$index];

$sql = "INSERT INTO InfoForm (Name, Email, Quarter, KPICode, Response,  
Compliance, Notes) 
VALUES ('$name', '$email', '$quarter', '$kpicode', '$response',
'$compliance', '$notes')";
$result = mysqli_query($conn, $sql);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...