PHP ve jQuery kullanarak MySQL form verilerini güncellemek mümkün değilim

3 Cevap php

Ne olur ben MYSQL veritabanına jQuery ve PHP betikleri kullanarak formun kayıt eklemek ve silmek mümkün, ama ben veritabanından alınan veriyi güncelleştirmek mümkün değilim olmasıdır. Aşağıdaki gibi dosya yapısı:

index.php bu index.php eserlerinden tüm kayıtları görüntülemek için yük list.php çağrı (serinletici sayfa olmadan tüm kayıtların save.php dosya ve listesini kullanarak MYSQL görünümünü yeni veriler vardır eklemek için bir form görüntüleyen jQuery fonksiyonları ile bir dosyadır ince ve formda verileri kaydetmek save.php)

-> Delete (çalışıyor delete.php işlevi çağıran) MySQL veritabanı kaydını silmek için index.php çağrılan bir işlevdir

-> Güncelleme MySQL tablosundan belirli bir kaydı retriving tarafından güncelleştirme-form.php kullanarak veri güncellemek için index.php çağrılan bir fonksiyonudur, (çalışıyor)

Problem lies in updating data from update-form.php to update.php (in which update query is written for MySQL)

Ben birçok yönden denedim - Sonunda ben veri update.php için güncelleme-form.php aktarılıyor olmadığını anladım; Bu sayfa update.php veri aktarımı değil jQuery AJAX işlevi küçük bir sorun var. Bir şey o sayfanın içine girerek değil update.php sayfayı çağıran eksik.

35KB (virüs ücretsiz güvencesi) ait tüm dosyaları indirmek için aşağıdaki linki bulabilirsiniz:

download mysmallform files in ZIPped format, including mysql query


<pre>
<body>
<div class="container">  
    <form id="submit" method="post">  
        <fieldset>  
            <legend>Enter Information</legend>  
            <label for="Name">Name    : </label>  
        <input id="name" class="text" name="name" size="20" type="text">
            <label for="gender">Gender : </label>  
            <input id="gender" class="text" name="gender" size="20" type="text">
            <label for="dob">DoB     : </label>  
            <input id="dob" class="date" name="dob" size="20" type="text">  <button> Add  </button>  
        </fieldset>
    </form>  
    <div class="name_list"></div>
    <div class="update_form"></div>  
</div>

<script type="text/javascript">
$(document).ready(function(){
    function loadList(){
        $.ajax({
            url: "load-list.php",
            cache: false,
            success : function(html){
                $(".name_list").html(html);
            }
        });
    }
    loadList();

    $("form#submit").submit(function() {
        // we want to store the values from the form input box, then send via ajax below
        var x=window.confirm("Are you sure you want to delete this item?")
        var name = $('#name').attr('value');
        var gender = $('#gender').attr('value');
        var dob = $('#dob').attr('value');
        if (x==true){
                     $.ajax({
                type: "POST",
                url: "save.php",
                data: "name="+ name +"& gender="+ gender +"& dob="+ dob,
                success: function(){
                    loadList();
                               }
                 });
                 }
        return false;
    });

    $(".delete_button").live("click", function(){
        //this deletes the row clicked on with an alert and then reloads the list
        var id = $(this).attr("id");
        var x=window.confirm("Are you sure you want to delete this item?")
        if (x==true){
            $.ajax({
                type: "POST",
                url: "delete.php",
                data: "id="+ id,
                success: function(){
                    loadList();
                }
            });
        }
        return false;
    });

    $(".update_button").live("click", function(){
        //this loads the update form
        var id = $(this).attr("id");
        $.ajax({
            url: "update-form.php",
            data: "id="+ id,
            cache: false,
            success: function(html){
                $(".update_form").html(html);
            }
        });
        return false;
    });

      $("#updateform").ajaxform("submit",function(){
    //$("form#update").live("submit",(function() {
    // we want to send via ajax and empty the html from the update_form element
        var name = $('#name_update').attr('value');
        var gender = $('#gender_update').attr('value');
        var dob = $('#dob_update').attr('value');
        var id = $('#id').attr('value');
        alert (name);
            $.ajax({

                url: "update.php",
                type: "POST",
                data: "name="+ name +"& gender="+ gender +"& dob="+ dob,
                error: function(){
                    alert('Error loading document');
                             },
                success: function(){
                alert (" i  am  in success below load list ");
                    $(".update_form").empty();
                    loadList();

                        }

            });
        return false;
    });
});
</script> </body>
</pre>

3 Cevap

Ben bir php dosyasına kodunuzu yapıştırılan-kopyalama ve javascript bir "$ tanımlı değil" hatası alıyorum. Ben senin koduna bakmak size jquery dosyasını dahil değil söylüyor. Bu tür küçük sorunları önlemek için hata ayıklayıcı için tarayıcı ve kundakçı gibi firefox kullanmayı deneyin.

Bilirsin, JQuery de bir sonrası işlevi vardır. Istekleri işlemek için, normal html kullanarak yanlış bir şey. Her şey dinleyicileri ile çalıştırılması gerekir değil.

function updateQuery(){

    var name = $('#name_update').attr('value');
    var gender = $('#gender_update').attr('value');
    var dob = $('#dob_update').attr('value');

    $.post('update.php', { name:name, gender:gender, dob:dob }, function(data){
        if(data == 'success')
            {
                $(".update_form").empty();
                loadList();

            }
            else
            {
                alert('fail');
            }
    });
}

bazen jquery tek değişken $. sonrası istekleri sevmez. Eğer ikinci bir boş değişken geçirmeden denediniz mi?

Senin kod bakmadım. Iş eklemek ve silerseniz, o zaman güncellemek gerekir da belirgin bir şey bakan konum ya da sadece ben ne vardı aynı tek değişken çöp düşen sürece.