单击按钮,将数据添加到 SQL 并再次单击以删除数据,需要 php 代码

Posted

技术标签:

【中文标题】单击按钮,将数据添加到 SQL 并再次单击以删除数据,需要 php 代码【英文标题】:Click button, add data to SQL and click again to remove data, Need php code 【发布时间】:2020-02-21 07:32:24 【问题描述】:

在我制作的帖子列表页面中,我在 javascript 中添加了一个收藏按钮。但我不能将它用作收藏按钮。我希望,当我单击按钮时,当按钮变为红色时,一个值将添加到我的数据库中。再次单击将删除该值。

The JavaScript button I created

My table name tbl_post and attribute name fav_button

我的代码 postlist.php

<div class="block">
        <table class="data display datatable" id="example">
            <thead>
                <tr>
                    <th >No.</th>
                    <th >Post Title</th>
                    <th class="list-post" >Description</th>

                    <th >Category</th>
                    <th >Image</th>

                    <th >Tags</th>

                    <th >Date</th>

                    <th >Front</th>

                    <th >Action</th>
                </tr>
            </thead>
            <?php
            $query = "SELECT tbl_post. *, tbl_category.name FROM tbl_post
            INNER JOIN tbl_category ON tbl_post.cat = tbl_category.id
            ORDER BY date ";
            $post =  $db->select($query);

            if ($post) 
                $i = 0;
                while ($result = $post->fetch_assoc()) 
                    $i++; ?>

                        <tr class="odd gradeX  mng2">
                            <td class="mng"><?php echo $i; ?>|</td>
                            <td class="mng"><?php echo $result['title']; ?></td>

                            <td class="mng list-post" id="a"><?php echo $fm->textShorten($fm->wp_strip_all_tags($result['body']), 50); ?></td>

                            <td class="mng dt"><?php echo $result['name']; ?></td>

                            <td class="mng"><img class="img_db" src="<?php echo $result['image']; ?>" /></td>

                            <td class="mng"><?php echo $result['tags']; ?></td>

                            <td class="mng dt"><?php echo $fm->postListdate($result['date']) ?></td>

                        <!-- fav button add ---->

                            <td class="mng dt">

                            <div class="flexbox">

                                <div class="fav-btn">
                                    <span href="" class="favme dashicons dashicons-heart"><i class="fas fa-heart"></i></span>
                                </div>

                            </div>

                            </td>


                            <td class="mng">
                                <a class="dif_2" href="./edit-post.php?editpostid=<?php echo $result['id']; ?>"><i class="fas fa-edit"></i></a> ||
                                <a onclick="return confirm('Im Sure to DELETE?')
                                " class="dif_1" href="./del-post.php?delpostid=<?php echo $result['id']; ?>"><i class="fas fa-trash"></i></a>
                            </td>
                        </tr>


                <?php
                    
                 ?>


        </table>

    </div>

$('.favme').click(function() 
	$(this).toggleClass('active');
);

$(".favme").on('click touchstart', function()
  $(this).toggleClass('is_animating');
);


$(".favme").on('animationend', function()
  $(this).toggleClass('is_animating');
);
 .flexbox 
	 display: flex;
	 height: 100%;
	 justify-content: center;
	 align-items: center;

 .fav-btn 
	 display: flex;
	 height: 100%;
	 justify-content: center;
	 align-items: center;

 @keyframes favme-anime 
	 0% 
		 opacity: 1;
		 font-size: ms(0);
		 -webkit-text-stroke-color: transparent;
	
	 25% 
		 opacity: 0.6;
		 color: #fff;
		 font-size: ms(-2);
		 -webkit-text-stroke-width: 1px;
		 -webkit-text-stroke-color: #dc3232;
	
	 75% 
		 opacity: 0.6;
		 color: #fff;
		 font-size: ms(3);
		 -webkit-text-stroke-width: 1px;
		 -webkit-text-stroke-color: #dc3232;
	
	 100% 
		 opacity: 1;
		 font-size: ms(2);
		 -webkit-text-stroke-color: transparent;
	

 @keyframes favme-hover 
	 from 
		 font-size: ms(3);
	
	 80% 
		 font-size: ms(2);
	

 .favme 
	 display: block;
	 font-size: ms(2);
	 width: auto;
	 height: auto;
	 cursor: pointer;
	 box-shadow: none;
	 transition: all 0.2s ease;
	 color: #cbcdce;
	 margin: 0;

 .favme.active 
	 color: #dc3232;

 .favme:hover 
	 animation: favme-hover 0.3s infinite alternate;

 .favme.is_animating 
	 animation: favme-anime 0.3s;

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css">




<div class="flexbox">

									<div class="fav-btn">
										<span href="" class="favme dashicons dashicons-heart"><i class="fas fa-heart"></i></span>
									</div>
									
								</div>

【问题讨论】:

你有什么问题? 请阅读How to Ask。这不是代码编写服务。您需要自己开始编写 - 如果您遇到问题,我们可以为您提供帮助,但是您需要向我们展示您尝试过的内容并给我们一个正确的问题描述。 【参考方案1】:

这是一个小脚本。

/*using ajax*/

$('#fav').click(function() 
   $e = $(this);
   $status =  $e.data('status');
   $id =  $e.data('id');
	 $operation = ($status)?'add':'remove';
   $.ajax(
    url: "http://example.com/addtofav",
    cache: false,
    data:'id':$id,'operation':$operation,
    success: function(data)
       if($status)
        $e.addClass('nonfavpro')
        $e.removeClass('favpro')
        $e.data('status',false)
       else
        $e.addClass('favpro')
        $e.removeClass('nonfavpro')
        $e.data('status',true)
       
    
   );
);

/*Without ajax simple change property of button*/
$('#fav1').click(function() 
   $e = $(this);
   $status =  $e.data('status');
    if($status)
        $e.addClass('nonfavpro')
        $e.removeClass('favpro')
        $e.data('status',false)
       else
        $e.addClass('favpro')
        $e.removeClass('nonfavpro')
        $e.data('status',true)
       
       
);
.favpro
  background-color: #4CAF50; /* Green */
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;

.nonfavpro
  background-color: red;
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
**using-Ajax**
<button id="fav" data-id="1" data-status="false" class="nonfavpro">Add to fav</button>

**Non-Ajax**
<button id="fav1" data-status="false" class="nonfavpro">Add to fav</button>

希望它会有所帮助:)

【讨论】:

我需要php代码,点击按钮,添加数据到SQL,再次点击删除数据 如果您需要一个带有 PHP 代码的 javascript 按钮。您需要使用ajax 选项。我已经输入了代码

以上是关于单击按钮,将数据添加到 SQL 并再次单击以删除数据,需要 php 代码的主要内容,如果未能解决你的问题,请参考以下文章

idea怎么将库添加到类路径

如何在按钮单击时添加/删除片段?

将标题设置为按钮并在单击两次时再次返回第一个标题

如何使用一个按钮切换 IMG 删除和附加?

Woocommerce:检测单击“添加到购物车”按钮的位置并运行不同的代码

单击按钮时将单元格动态添加到 UItableview