Как организовать код в шаблонах CodeIgniter? - PullRequest
0 голосов
/ 06 июня 2018

Я действительно не знаю, как организовать свой код в проекте CodeIgniter.По моему мнению, у меня есть форма, которая позволяет после отправки иметь информацию.Но информация отображается в том же виде.Информация отображается несколькими способами (например, с помощью PHP или кодировки Ajax и JSON в части контроллера).

Мое представление:

<form action="#" method="post">
 <p>Your name : <input type="text" name="name" /></p>
 <p><input type="submit" value="OK"></p>
</form>

Могу ли я использовать это в представлении для проверкиесли пользователь нажал кнопку отправки?

if (isset($_POST['submit'])) {// the code I want to to show after submit}

Что я хочу отобразить после нажатия на кнопку отправки:

<select class="mylist">
    <?php foreach($groups as $each){ ?>
        <option value="<?php echo $each->groupname; ?>"><?php echo $each->groupname; ?></option>';
    <?php } ?>
</select>

  <table id="table" class="display" style="width:80%">
        <thead>
            <tr>
                <th>Name</th>
                <th>SurName</th>
                <th>ID</th>
            </tr>
        </thead>
        <tfoot>
            <tr> 
                <th>Name</th>
                <th>SurName</th>
                <th>ID</th>
            </tr>
        </tfoot>
</table>

Контроллер:

public function index()
{
    $this->load->view("myview.php");
}

public function getlist()
{
    $this->load->model('mymodel');
// Method to get the values of the list in the database

}
public function get_test_datatables()
{
// Method to fill the datatable part
echo json_encode($output);
}

JS Functions :

    $(document).ready( function () {
        $('#table').DataTable({
    //Get the data with ajax
    })

    )}

После того, как я нажму кнопку отправки, я также хочу проверить, установлен ли флажок (если он равен true в базе данных, я должен установить флажок, если он равен false, мне не нужно его проверять),Должен ли я сделать что-то подобное в представлении:

if(checkbox->value == true)
{
<input type="checkbox" name="vehicle" value="Bike" checked> I have a bike<br>
}
else {
<input type="checkbox" name="vehicle" value="Bike"> I have a bike<br>
}

Спасибо

1 Ответ

0 голосов
/ 06 июня 2018

В моих проектах я всегда отправляю данные через ajax ($ .post ()) и делю представление на два элемента: один со списком, который видим, а другой с формой, с невидимым.В части списка есть кнопка, которая переключается на форму.Когда я нажимаю на кнопку отправить, отправляет данные и, в случае успеха, показывает сообщение об успешном завершении и возвращается в список div.

HTML:

<div id="div-form" style="display: none;">
    <form>
     <p>Your name : <input type="text" name="name" /></p>
     <button type="button" id="save">OK</button>
     <button type="button" id="cancel">Cancel</button>
    </form>
</div>
<div id="div-list">
    <button type="button" id="add">Add</button>
    <select class="mylist">
        <?php foreach($groups as $each): ?>
            <option value="<?= $each->groupname; ?>">
                <?= $each->groupname; ?>
            </option>';
        <?php endif; ?>
    </select>

      <table id="table" class="display" style="width:80%">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>SurName</th>
                    <th>ID</th>
                </tr>
            </thead>
            <tfoot>
                <tr> 
                    <th>Name</th>
                    <th>SurName</th>
                    <th>ID</th>
                </tr>
            </tfoot>
    </table>
</div>

Javascript:

$(document).ready( function () {
    $(document).on('click', "#add", function() {
        $("#div-form").show();
        $("#div-list").hide();
    });

    $(document).on('click', "#save", function() {
        $.post('service_link', {
            name: $("#name").val()
        }, function(data) {
            $("#div-list").show();
            $("#div-form").hide();
            $('#table').DataTable().ajax.reload();
        }, 'json');
    });

    $(document).on('click', "#cancel", function() {
        $("#div-list").show();
        $("#div-form").hide();
    });

    $('#table').DataTable({
    //Get the data with ajax
    })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...