Heim  >  Artikel  >  PHP-Framework  >  thinkphp implementiert schnell eine Like-Funktion basierend auf Ajax

thinkphp implementiert schnell eine Like-Funktion basierend auf Ajax

PHPz
PHPzOriginal
2023-04-10 09:04:07639Durchsuche

Mit der rasanten Entwicklung des Internets ist das Benutzererlebnis von Webanwendungen zu einem immer wichtigeren Faktor geworden. Die Verwendung der Ajax-Technologie zur Implementierung der Like-Funktion ist eine gängige Methode. In diesem Artikel wird erläutert, wie Sie mit dem ThinkPHP-Framework schnell eine Ajax-basierte Like-Funktion implementieren.

1. Vorbereitung der Entwicklungsumgebung

In diesem Artikel wird das ThinkPHP5.1-Framework verwendet. Sie müssen PHP5.5 oder höher und eine MySQL-Datenbank installieren und sicherstellen, dass die Umgebung dies kann Führen Sie ThinkPHP aus.

2. Datenbanktabelle erstellen

Erstellen Sie die folgende Tabelle in MySQL:

CREATE TABLE `likes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content_id` int(11) NOT NULL COMMENT '点赞的文章id',
  `user_id` int(11) NOT NULL COMMENT '点赞的用户id',
  `created_time` int(11) NOT NULL DEFAULT '0' COMMENT '点赞时间戳',
  `updated_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间戳',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

3. Controller-Ebene

Erstellen Als LikesController.php-Controller verwenden Sie den folgenden Code, um Ajax-Anfragen zu erhalten:

namespace app\index\controller;

use think\Controller;
use think\Db;

class LikesController extends Controller
{
    public function like()
    {
        $content_id = input('post.content_id');
        $user_id = input('post.user_id');
        $created_time = time();
        $updated_time = time();
        $data = [
            'content_id' => $content_id,
            'user_id' => $user_id,
            'created_time' => $created_time,
            'updated_time' => $updated_time,
        ];
        $result = Db::name('likes')->insert($data);
        if ($result) {
            return json(['code' => 200, 'msg' => '点赞成功']);
        } else {
            return json(['code' => 500, 'msg' => '点赞失败']);
        }
    }
}

4. Ansichtsebene

Erstellen Sie eine index.html-Frontend-Seite und verwenden Sie jQuery zum Abhören Um Benutzerklickereignisse zu ermöglichen, senden Sie eine Ajax-Anfrage an den Server:

<!DOCTYPE html>
<html>
<head>
    <title>点赞</title>
    <meta charset="utf-8">
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
    <div id="like_button" data-content-id="1" data-user-id="1">点赞</div>
</body>
<script type="text/javascript">
    $(document).ready(function () {
        $('#like_button').click(function () {
            var content_id = $(this).data('content-id');
            var user_id = $(this).data('user-id');
            $.ajax({
                url: "/LikesController/like",
                type: "POST",
                dataType: "json",
                data: {"content_id": content_id, "user_id": user_id},
                success: function (data) {
                    if (data.code == 200) {
                        alert(data.msg);
                    } else {
                        alert(data.msg);
                    }
                }
            });
        });
    });
</script>
</html>

5. Routing-Einstellungen

Fügen Sie eine Route in der Routing-Datei (route.php) hinzu: #🎜🎜 #

Route::post('/LikesController/like', 'index/LikesController/like');
6 , testen

Starten Sie den Server, besuchen Sie http://localhost/index/index/index, klicken Sie auf „Gefällt mir“, um diese Funktion zu testen. Überprüfen Sie, ob Datensätze zur Likes-Tabelle in MySQL hinzugefügt werden, um sicherzustellen, dass die Likes erfolgreich sind.

7. Zusammenfassung

Durch die Verwendung des ThinkPHP-Frameworks und der jQuery-Technologie wird eine Ajax-basierte Like-Funktion implementiert. Diese Funktion kann das Benutzererlebnis von Webanwendungen verbessern und die Interaktion zwischen Benutzern und Webanwendungen verbessern.

Das obige ist der detaillierte Inhalt vonthinkphp implementiert schnell eine Like-Funktion basierend auf Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn