Intereting Posts
file_get_contents (или завиток или fopen) с данными сеанса Функциональные функции PHP Мобильная версия сайта с использованием CodeIgniter Как я могу получить общее значение из того же массива Предупреждение: mysqli_stmt :: bind_param (): Число элементов в строке определения типа не совпадает с числом переменных связывания 11 Как исключить определенную строку из списка отсутствующих переводов с помощью KnpMenuBundle и Symfony3 Пользовательское значащее сообщение об ошибке для Zend RegEx Validator Шифрование AES для SagePay v3 Как переадресовать массив с помощью несекретных цифровых клавиш Как отправить данные в Angular? Каков наилучший способ реализации коррекции опечаток в поиске в php / mysql? Как получить граф или количество строк в результате набора в PHP с использованием ODBC-соединения? PHP проверяет, является ли переменная целым числом Как я могу заставить Flash обмениваться файлами cookie браузера / сеансом? Facebook Расширенные разрешения в canvas через php

Удаление нескольких записей с помощью AJAX

Я могу удалить одну запись за раз, используя AJAX. Теперь я сделал возможность выбирать записи, используя флажок, и удалять их все одновременно, это отлично работает без AJAX. Теперь я пытаюсь удалить несколько записей с помощью AJAX. Это то, что у меня есть до сих пор:

ajax:

`$(function() { $(".checkbox_button_del").click(function() { var id = $(this).attr("id"); var dataString = 'id='+ id ; var parent = $(this).parents('tr:first'); var notice = '<div class="notice">' + '<div class="notice-body">' + '<img src="core/displays/notify/delete-icon.png" alt="" />' + '<h3>Deleted item</h3>' + '<p>The item has been succesfully deleted.</p>' + '</div>' + '<div class="notice-bottom">' + '</div>' + '</div>'; $ny( notice ).purr( { usingTransparentPNG: true } ); $.ajax({ type: "POST", url: "core/actions/delete_multiple.php", data: dataString, cache: false, success: function() { parent.fadeOut('300', function() {$(this).remove();}); $("#load_tasklist").load("core/statistics/stats_brackets.php") $("#load_tweets").load("response.php") $("#load_mod_day_summary").load("core/displays/mod_day_summary.php") $("#load_mod_task_selector").load("core/displays/mod_task_selector.php") } }); return false; }); });` 

сценарий внешнего удаления: `

 include('../../core/additional/connect-db.php'); for($i=0;$i<count($_POST["chkDel"]);$i++) { if($_POST["chkDel"][$i] != "") { $strSQL = "DELETE FROM players "; $strSQL .="WHERE id = '".$_POST["chkDel"][$i]."' "; $objQuery = mysql_query($strSQL); } } header('Location: ' . $_SERVER['HTTP_REFERER']);` в include('../../core/additional/connect-db.php'); for($i=0;$i<count($_POST["chkDel"]);$i++) { if($_POST["chkDel"][$i] != "") { $strSQL = "DELETE FROM players "; $strSQL .="WHERE id = '".$_POST["chkDel"][$i]."' "; $objQuery = mysql_query($strSQL); } } header('Location: ' . $_SERVER['HTTP_REFERER']);` 

и список результатов с кнопкой удаления: `

 <form name="frmMain" id="myForm" method="post" OnSubmit="return onDelete();"> <?php $connection = mysql_connect($server, $user, $pass) or die ("Could not connect to server ... \n" . mysql_error ()); mysql_select_db($db) or die ("Could not connect to database ... \n" . mysql_error ()); $result = mysql_query("SELECT * FROM players WHERE (userid = '$username' AND done = '0' AND measure = 'task' AND day = '$user_mydate') ORDER BY id DESC") or die(mysql_error()); echo '<div id="checkbox_button_div"> <input class="checkbox_button_del" type="submit" id="buttondel" value="Delete" /> <input class="checkbox_button_done" type="submit" id="buttondone" value="Done" /> <input class="checkbox_button_done" type="submit" id="buttonfavorite" value="Favorite" /> <input class="checkbox_button_done" type="submit" id="buttonmove" value="+1 day" /> </div>'; echo ' <table id="tableOne" cellpadding="0" cellspacing="0" width="760" border="0" class="yui"> <thead> <tr> <th><a href="#" title="Click Header to Sort">Task</a></th> <th><a href="#" title="Click Header to Sort">Minutes</a></th> <th><a href="#" title="Click Header to Sort">Time</a></th> <th><a href="#" title="Click Header to Sort">Category</a></th> <th> <input type="checkbox" class="check" value="check all" /></th> </tr> </thead> <tbody> '; $i = 0; while($row = mysql_fetch_array( $result )) { $i++; include ('core/additional/params_tasks.php'); echo ' <tr class="handcursor" onmouseover="' .($mouseover). '" onmouseout="' .($mouseout). '"> <td class="editable" id="' .($id). '" width="180">' .($task). ' </td> <td class="editable" id="' .($id). '">' .($minutes). '</td> <td onClick="' .($onclick). '">' .($hours_start). '.' .($minutes_start). ' - ' .($hours_due2). '.' .($minutes_due2). ' </td> <td onClick="' .($onclick). '">' .($categorie). ' </td> <td align="center"><input type="checkbox" class="cb-element" name="chkDel[]" id="chkDel<?=$i;?>" value="' .($id). '"></td> </tr> '; } // close table> echo '</tbody> <tfoot> <tr style="display:none;"> <td style="border: 0px;" colspan="4"> No matching results.. </td> </tr> </tfoot> </table> '; ?> <input type="hidden" name="hdnCount" value="<?=$i;?>"> </form>` 

Я думаю, что сценарий AJAX должен передавать значения «$ i», но я не знаю, как это сделать. Скажите, пожалуйста, если проблема вам не понятна. Ждем вашего ответа!

yout jquery было бы что-то вроде этого.

 $("#Submit1").click(function () { var arr = new Array(); $("input:checked").each(function () { arr.push($(this).attr("id")); }); //each $.ajax({ type: "POST", url: "core/actions/delete_multiple.php", data: arr ,//pass the array to the ajax call cache: false, success: function() { } });//ajax }); //each }); //click 

поскольку функция PHP получит объект JSON. вам нужно будет сделать JSON-декодирование для массива … см. JSON-декодирование … используйте этот массив, чтобы создать свой запрос, например ..

  delete from SalesLT.Customer where CustomerID in (1,2,3,4);