0

私は、好きな記事を追加し、上部の小さな x をクリックしてリストから削除できる読書リストをコーディングしようとしています。JQuery .click を使用してデータベースからストーリーを削除し、リストから削除します。しかし、一度に複数の記事を削除しようとすると、最後にクリックした記事しか削除されません。私はそれが何であるかわかりません。グローバル変数とローカル変数を使ったものかもしれないと思ったのですが、どこから始めればいいのかわかりません。

以下は HTML の一部で、削除したものと同様の div です。

<li id="arrayorder_146">
<div class="reading_list drop-shadow lifted">
<div class="reading_list_container">
<a class="deletefromrl" data-storyid="146" data-parent="arrayorder_146">x</a>
<p class="reading_list_story">
<a class="rlstory" href="" data-storyid="146">iSteal: Apple Products Cause NYC Crime Wave
</a></p></div></div></li>

JQuery関数は次のとおりです。

    $(document).ready(function(){ $(function() {
        $('a.deletefromrl').click(function(){
            $(this).closest('li').fadeOut('slow');
            var order = $('#list ul').sortable("serialize") + '&update=update' + '&id=' + $(this).attr('data-storyid'); 
            $.post("deletefromReadingList.php", order, function(theResponse){
                    $("#response").html(theResponse);
                }); 

php の deletefromReadingList は次のとおりです。

    <?php 
 require_once('compress.php');
  require_once('startsession.php');
 require_once('admin_start_session.php');
 require_once('db_connect_variables.php');
 require_once('input_variables.php');

 $array = $_POST['arrayorder'];
 $id = $_POST['id'];

if ($_POST['update'] == "update")
 {
$user_id = $_SESSION['user_id'];
$admin_id = $_SESSION['admin_id'];

$listorder = '';
$i=0;

foreach ($array as $idval) 
{
    if(($idval == $id) && ($i == 0))
    {
        $i++;
        continue;
    }
    $listorder = $listorder . $idval . ',';
}

$listorder = substr_replace($listorder ,"",-1);

if(!empty($user_id) && empty($admin_id))
{
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
        $query = "UPDATE reading_list SET listorder = " . $listorder . " WHERE user_id = " . $user_id;
        mysql_query($query) or die('Error, insert query failed');
        echo 'Saved until 9AM Tomorrow';
}
else if(empty($user_id) && !empty($admin_id))
{
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
        $query = "UPDATE reading_list SET listorder = '" . $listorder . "' WHERE admin_id = " . $admin_id;
        mysqli_query($dbc, $query) or die('Error, insert query failed');
        echo 'Saved until 9AM Tomorrow';
}
else
{
    $_SESSION['readinglist'] = $listorder;
    setcookie('readinglist', $listorder, mktime(6, 59, 59, date('m'), (date('d')+1), date('y')));    // expires at midnight
    echo 'Saved until 9AM Tomorrow';
}
  }

  ?>
4

0 に答える 0