Intereting Posts
Отображение на стороне сервера визуализированного компонента responseJS в приложении PHP Regex для обнаружения одного и того же символа более пяти раз? Facebook API. Как получить изображение профиля пользователя Facebook через API Facebook (не требуя от пользователя «Разрешить» приложение) Выполнить скрипт PHP внутри Joomla! cms один раз – перенаправление на основе геоданных Обнаружение переломов в руке с использованием обработки изображений Перенос файлов с локального компьютера на удаленный сервер с помощью php-скрипта, находящегося на удаленном сервере Curl и PHP – как я могу передать json через curl с помощью PUT, POST, GET Уменьшите качество изображения на лету и отобразите более качественную версию Получить ассоциативный массив из csv Изменение запроса sql в формате yii2 PHP получает полное имя сервера, включая номер порта и протокол Обмен значениями массива с помощью php SQL-инъекция и защита XSS в PHP, объединяющая Ignators кода xss_clean () и Zend PDO Я не могу создать пакет в symfony2 Проверьте, существуют ли удаленные изображения PHP

Удаление значений из базы данных MySQL с помощью AJAX без перезагрузки страницы (отредактировано)

Я использую систему delete by ID. Пользователь вводит идентификатор записи, которую он хочет удалить, и делается это через PHP. Это все работает, и при успешном удалении небольшое окно предупреждения подтверждает это и возвращается на исходную страницу, на которой показана запись. Тем не менее, я бы хотел использовать AJAX таким образом, чтобы не обновлять страницу и удерживать таблицу на экране.

<head> <title>ajax_test</title> <script language="javascript" type="text/javascript" src="prototype.js"></script> <script> function updateDIV(myDiv) { var url='delete.php'; var params = 'id'; var myAjax = new Ajax.Updater(myDiv, url, {method: 'get', parameters: params}); } </script> </head> <body> <form action="delete.php" method="get"> <input type="text" name="id" placeholder="ID" /> <input type="submit" value="Delete" onclick="updateDIV(targetDiv)" /> <div id="targetDiv"></div> </form> </body> 

Как вы, наверное, видите, это не работает. Есть ли какие-то вопиющие проблемы, которые я должен исследовать дальше?

    Измените функцию updateDIV на следующее:

     <script type="text/javascript"> function updateDIV(myDiv) { var url='delete.php'; var id = $F($('id')); var myAjax = new Ajax.Updater(myDiv, url, {method: 'get', parameters: 'id='+id}); } </script> 

    и добавьте значение id к вашему вводу:

     <body> <form action="delete.php" method="get"> <input type="text" id="id" name="id" placeholder="ID" /> <input type="submit" value="Delete" onclick="updateDIV(targetDiv)" /> <div id="targetDiv"></div> </form> </body> 

    $ F – это функция прототипа, которая получает значение элемента. Затем в вашем php-коде вы можете получить идентификатор с $ _GET ['id'].

    Вот полный исходный код для удаления записи без обновления страницы.

    Следуйте шагам:

    Шаг 1:

    DBConnect.php

      class DBConnect { function DBConnect() { $link= mysql_connect("localhost","root","")or die("Local Host Error".mysql_error()); mysql_select_db("test"); } function viewData() { $query = "SELECT * FROM test_mysql"; $resultset = mysql_query($query); return $resultset; } function DeleteData($userID) { $query = "DELETE FROM test_mysql WHERE id=".$userID; $resultset=mysql_query($query) ; } } 

    Шаг 2:

      delete.php 
      include_once'DBConnect.php'; if(isset($_REQUEST['userid']) && $_REQUEST['userid']) { $delObj= new DBConnect(); $delObj->DeleteData($_REQUEST['userid']); } 

    Шаг 3:

      index.php 
      <html> <head> <title></title> <script type="text/javascript"> function deletedata(id) { var xmlhttp; if (id=="") { document.getElementById("Display").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { window.location.reload() } } xmlhttp.open("GET","delete.php?userid="+id,true); xmlhttp.send(); } </script> </head> <body> <?php include 'DBConnect.php'; $ViewObj= new DBConnect(); $ResultSet=$ViewObj->viewData(); ?> <span id ="Display"> <table align="center" border="1" width="50%" cellpadding="4" cellspacing="4"> <tr> <th>ID</th> <th>Name</th> <th>operation</th> <th align="center">Action</th> </tr> <?php while($row= mysql_fetch_array($ResultSet)) { ?> <tr> <td><?php echo $row[0];?></td> <td><input type="text" name="txt"></td> <td><?php echo $row[1];?></td> <td align="center"><a href="#" onClick="deletedata('<?php echo $row[0];?>')" style="color:#00F"><b>Delete</b></a></td> </tr> <?php } ?> </table> </span> </body> </html> 

    если вы чувствуете какую-либо проблему, тогда, пожалуйста, дайте мне знать. Надеюсь, это поможет вам. Спасибо.