0

システムのようなユーザーを作成しようとしています。ユーザーは「いいね」ボタンをクリックして、そのプロファイルの user_id を挿入し、「いいね」列を自動インクリメントできるようにする必要があります。また、次に来て同じプロファイルを気に入った人も、いいねを押して、いいねの自動インクリメント列を毎回1つずつ更新できるようにしようとしています。

私はmysqlとphpが初めてで、これに本当に苦労しています。誰かが私が間違っているところを教えてもらえますか? 前もって感謝します。

<?php

require_once('includes/session.php');
require_once('includes/functions.php');
require('includes/_config/connection.php');

session_start();

    confirm_logged_in();

    if (isset ($_GET['to'])) {
    $user_to_id = $_GET['to'];


}


if (!isset($_GET['to']))
    exit('No user specified.');

$user_id = $_GET['to'];


$result = mysql_query("SELECT * FROM ptb_likes WHERE liked_id ='".$user_to_id."' ");

if( mysql_num_rows($result) > 0) {
    mysql_query("UPDATE ptb_likes SET likes +1 WHERE liked_id = '".$user_to_id."' ");


    $autoinc = mysql_query("ALTER TABLE likes AUTO_INCREMENT = $id");
}
else
{
    mysql_query("INSERT INTO ptb_likes (liked_id) VALUES ('".$user_to_id."') ");
}



if($result) 
{ 

header("Location: {$_SERVER['HTTP_REFERER']}");

}
?>
4

1 に答える 1

0

「いいね」に関するシステムを実行している場合は、1 行に 1 つずつ「いいね」を含むテーブルを用意することをお勧めします。

次に、参照 ID で検索する DB にクエリを実行できます。

投稿やいいねをしましょう。各投稿には Post_ID があるため、好きなテーブルのスキーマは次のようになります

ID
Post_ID
Time

次に、投稿 #3 のいいね! の数を知りたい場合は、そうします。

SELECT COUNT(*) FROM posts WHERE post_id = 3

そうすれば、クエリをより適切に制御して削減できます。

単一の行でいいねの値を増やすことはできますが、効率的ではありません。

于 2013-02-10T01:57:07.657 に答える