Помагите с скриптом CRUD

Тема в разделе "Как сделать...", создана пользователем karen12, 17 окт 2015.

  1. karen12

    karen12 Постоялец

    Регистр.:
    26 фев 2012
    Сообщения:
    83
    Симпатии:
    1
    Есть вот такой CRUD скрипт, который отправляет в базу данные из одного <textarea>, мне нужен добавить еще одно поле <input>, но как не стараюсь сделать своими руками все идет к праху. Пожалуйста помагите реолизовать.
    index.php

    PHP:
    <style>
    body{width:40%;}
    .message-box{margin-bottom:20px;border-top:#F0F0F0 2px solid;background:#FAF8F8;padding:10px;}
    .btnEditAction{background-color:#2FC332;border:0;padding:2px 10px;color:#FFF;}
    .btnDeleteAction{background-color:#D60202;border:0;padding:2px 10px;color:#FFF;margin-bottom:15px;}
    #btnAddAction{background-color:#09F;border:0;padding:5px 10px;color:#FFF;}
    </style>
    <?php
    require_once("dbcontroller.php");
    $db_handle = new DBController();
    $comments $db_handle->runQuery("SELECT * FROM comment");
    ?>
    <script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
    <script>
    function showEditBox(editobj,id) {
        $('#frmAdd').hide();
        $(editobj).prop('disabled','true');
        var currentMessage = $("#message_" + id + " .message-content").html();
        var editMarkUp = '<textarea rows="5" cols="80" id="txtmessage_'+id+'">'+currentMessage+'</textarea><button name="ok" onClick="callCrudAction(\'edit\','+id+')">Save</button><button name="cancel" onClick="cancelEdit(\''+currentMessage+'\','+id+')">Cancel</button>';
        $("#message_" + id + " .message-content").html(editMarkUp);
    }
    function cancelEdit(message,id) {
        $("#message_" + id + " .message-content").html(message);
        $('#frmAdd').show();
    }
    function callCrudAction(action,id) {
        $("#loaderIcon").show();
        var queryString;
        switch(action) {
            case "add":
                queryString = 'action='+action+'&txtmessage='+ $("#txtmessage").val();
            break;
            case "edit":
                queryString = 'action='+action+'&message_id='+ id + '&txtmessage='+ $("#txtmessage_"+id).val();
            break;
            case "delete":
                queryString = 'action='+action+'&message_id='+ id;
            break;
        } 
        jQuery.ajax({
        url: "crud_action.php",
        data:queryString,
        type: "POST",
        success:function(data){
            switch(action) {
                case "add":
                    $("#comment-list-box").append(data);
                break;
                case "edit":
                    $("#message_" + id + " .message-content").html(data);
                    $('#frmAdd').show();
                    $("#message_"+id+" .btnEditAction").prop('disabled','');
                break;
                case "delete":
                    $('#message_'+id).fadeOut();
                break;
            }
            $("#txtmessage").val('');
            $("#loaderIcon").hide();
        },
        error:function (){}
        });
    }
    </script>

    <div class="form_style">
    <div id="comment-list-box">
    <?php
    if(!empty($comments)) {
    foreach(
    $comments as $k=>$v) {
    ?>
    <div class="message-box" id="message_<?php echo $comments[$k]["id"];?>">
    <div>
    <button class="btnEditAction" name="edit" onClick="showEditBox(this,<?php echo $comments[$k]["id"]; ?>)">Edit</button>
    <button class="btnDeleteAction" name="delete" onClick="callCrudAction('delete',<?php echo $comments[$k]["id"]; ?>)">Delete</button>
    </div>
    <div class="message-content"><?php echo $comments[$k]["message"]; ?></div>
    </div>
    <?php
    }
    ?>
    </div>

    <div id="frmAdd"><textarea name="txtmessage" id="txtmessage" cols="80" rows="5"></textarea>
    <p><button id="btnAddAction" name="submit" onClick="callCrudAction('add','')">Add</button></p>
    </div>
    <img src="LoaderIcon.gif" id="loaderIcon" style="display:none" />
    </div>
    crud_action.php

    PHP:
    <?php
    require_once("dbcontroller.php");
    $db_handle = new DBController();

    $action $_POST["action"];
    if(!empty(
    $action)) {
        switch(
    $action) {
            case 
    "add":
                
    $result mysql_query("INSERT INTO comment(message) VALUES('".$_POST["txtmessage"]."')");
                if(
    $result){
                      
    $insert_id mysql_insert_id();
                      echo 
    '<div class="message-box"  id="message_' $insert_id '">
                            <div>
                            <button class="btnEditAction" name="edit" onClick="showEditBox(this,' 
    $insert_id ')">Edit</button>
    <button class="btnDeleteAction" name="delete" onClick="callCrudAction(\'delete\',' 
    $insert_id ')">Delete</button>
                            </div>
                            <div class="message-content">' 
    $_POST["txtmessage"] . '</div></div>';
                }
                break;
            
            case 
    "edit":
                
    $result mysql_query("UPDATE comment set message = '".$_POST["txtmessage"]."' WHERE  id=".$_POST["message_id"]);
                if(
    $result){
                      echo 
    $_POST["txtmessage"];
                }
                break;        
        
            case 
    "delete":
                if(!empty(
    $_POST["message_id"])) {
                    
    mysql_query("DELETE FROM comment WHERE id=".$_POST["message_id"]);
                }
                break;
        }
    }
    ?>
     

    Вложения: