簡體   English   中英

使用ajax更新文本框中的值

[英]update values in textbox using ajax

實際上,我只是一個新手程序員,我為程序編寫了自己的更新javascript函數,但可惜代碼沒有更新..有人可以幫助我幫助我的代碼工作嗎? 請。

我想做的是,如果我更改文本框中的值並單擊更新,它將更新。

在此處輸入圖片說明

腳本代碼:

<script type="text/javascript">
$(document).ready(function () {
       $('#updates').click(function (e) {

           e.preventDefault();
           var $id1 = $('#id1').val();
           var $id2 = $('#id2').val();
           var $name1 = $('#name1').val();
           var $name2 = $('#name2').val();
           var $optA1 = $('#optA1').val();
           var $optA2 = $('#optA2').val();
           var $optB1 = $('#optB1').val();
           var $optB2 = $('#optB2').val();
           var $other_qual1 = $('#other_qual1').val();
           var $other_qual2 = $('#other_qual2').val();
           var $interview1 = $('#interview1').val();
           var $interview2 = $('#interview2').val();
           var $total1 = $('#total1').val();
           var $total2 = $('#total2').val();

           $.ajax({
               type: "POST",
               url: "update.php",
               data: {
                   id1_text: $id1,
                   id2_text: $id2,
                   name1_text: $name1,
                   name2_text: $name2,
                   optA1_text: $optA1,
                   optA2_text: $optA2,
                   optB1_text: $optB1,
                   optB2_text: $optB2,
                   other_qual1_text: $other_qual1,
                   other_qual2_text: $other_qual2,
                   interview1_text: $interview1,
                   interview2_text: $interview2,
                   total1_text: $total1,
                   total2_text: $total2
               },
               cache: false,
               success: function (data) {
                   alert('data has been updated!');
               }
           });
       });
   });
</script>

update.php頁面:

<?php

    mysql_connect("localhost", "root", "") or die("cant connect to database!");
    mysql_select_db("test") or die("cant find database!");
    $id1         = @$_POST['id1_text'];
    $id2         = @$_POST['id2_text'];
    $name1       = @$_POST['name1_text'];
    $name2       = @$_POST['name2_text'];
    $optA1       = @$_POST['optA1_text'];
    $optA2       = @$_POST['optA2_text'];
    $optB1       = @$_POST['optB1_text'];
    $optB2       = @$_POST['optB2_text'];
    $other_qual1 = @$_POST['other_qual1_text'];
    $other_qual2 = @$_POST['other_qual2_text'];
    $interview1  = @$_POST['interview1_text'];
    $interview2  = @$_POST['interview2_text'];
    $total1      = @$_POST['total1_text'];
    $total2      = @$_POST['total2_text'];

    $query1 = mysql_query("UPDATE score SET name=$name1, score1=$optA1, score2=$optB1, other_qual=$other_qual1, interview=$interview1, total=$total1 WHERE id=$id1");
    $resource1 = mysql_query($query1) or die(mysql_error());

    $query2 = mysql_query("UPDATE score SET name=$name2, score1=$optA2, score2=optB2, other_qual=$other_qual2, interview=$interview2, total=$total2 WHERE id=$id2");
    $resource2 = mysql_query($query2) or die(mysql_error());


?>

的HTML:

<form>
    Search batchcode: <input id="query" name="search" type="text"><input id="send_search_form" type="button" value="Go" /><br>
Batch #: <label id="batchcode" class="empty_batchcode"></label>
    <table>
        <tr>
            <td>ID:<br>
            <input readonly id="id1" class="search_form_input" name="id1" type="text"><br>
            <input readonly id="id2" class="search_form_input" name="id2" type="text"><br></td>

            <td>Name:<br>
            <input id="name1" class="search_form_input" name="name1" type="text"><br>
            <input id="name2" class="search_form_input" name="name2" type="text"><br></td>

            <td>Score 1:<br>
            <input id="optA1" class="search_form_input" name="optA1" type="text"><br>
            <input id="optA2" class="search_form_input" name="optA2" type="text"><br></td>

            <td>Score 2:<br>
            <input id="optB1" class="search_form_input" name="optB1" type="text"><br>
            <input id="optB2" class="search_form_input" name="optB2" type="text"><br></td>

            <td>Other Qualification:<br>
            <input id="other_qual1" class="search_form_input" name="other_qual1" type="text"><br>
            <input id="other_qual2" class="search_form_input" name="other_qual2" type=
            "text"><br></td>

            <td>Interview:<br>
            <input id="interview1" class="search_form_input" name="interview1" type="text"><br>
            <input id="interview2" class="search_form_input" name="interview2" type="text"><br></td>

            <td>Total:<br>
            <input id="total1" class="search_form_input" name="total1" type="text"><br>
            <input id="total2" class="search_form_input" name="total2" type="text"><br></td>
        </tr>
    </table>
    <input type="button" value="update" id="updates" />
</form>

您在SQL查詢中的名稱周圍缺少引號。

$query1 = mysql_query("UPDATE score SET name='$name1', score1=$optA1, score2=$optB1, other_qual=$other_qual1, interview=$interview1, total=$total1 WHERE id=$id1");

如果您使用PDO或mysqli會更好,因此可以使用參數化查詢而不是字符串替換。 您的代碼有嚴重的SQL注入危險。

這些都不起作用。

$resource1 = mysql_query($query1) or die(mysql_error());
$resource2 = mysql_query($query2) or die(mysql_error());

因為引用的$query1$query2是實際查詢。 您需要將它們更改為簡單的字符串。

更正的PHP:

$query1 = "UPDATE score SET name=$name1, score1=$optA1, score2=$optB1, other_qual=$other_qual1, interview=$interview1, total=$total1 WHERE id=$id1";
$resource1 = mysql_query($query1) or die(mysql_error());

$query2 = "UPDATE score SET name=$name2, score1=$optA2, score2=optB2, other_qual=$other_qual2, interview=$interview2, total=$total2 WHERE id=$id2";
$resource2 = mysql_query($query2) or die(mysql_error());

甚至更好,將其更新為最新版本,例如:

$mysqli = new mysqli("localhost", "root", "", "test");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (Error code: " . $mysqli->connect_errno . ")... " . $mysqli->connect_error;
}
$query1 = "UPDATE score SET name='$name1', score1='$optA1', score2='$optB1', other_qual='$other_qual1', interview='$interview1', total='$total1' WHERE id='$id1'";
$resource1 = $mysqli->query($query1) or die(mysqli_error($mysqli));
$query2 = "UPDATE score SET name='$name2', score1='$optA2', score2='$optB2', other_qual='$other_qual2', interview='$interview2', total='$total2' WHERE id='$id2'";
$resource2 = $mysqli->query($query2) or die(mysqli_error($mysqli));
mysqli_close($mysqli);

@Barmar還有一點-如果空格或其他字符可能導致語法錯誤,則需要在這些變量周圍加上引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM