私のサイトでは、ユーザーが好きなものを選択することができます。これは、あらかじめ定義されたドロップダウンメニューを使用して行われるため、ユーザーがログインするたびに彼らは彼らと同じ関心を持っているユーザーのリストを入手します。PHP - MySQL Searchデータベーステーブルの返品率がパーセント一致
これは、MySQL WHERE句を使用して、ログインしたユーザーの関心事(データベースに格納)を取り、サイト上の他のユーザーと一致させることによって行われます。しかし、私が問題を抱えているのは、各ユーザーの横にパーセンテージやスコアを表示して、ログインしたユーザーの興味にどれほど近いかを示す方法です。例えば
:あなたの興味
- user1のご関心に20%の一致
すべてのユーザーが100%一致した場合、それぞれのユーザーは5つの異なる興味を持っています。
テーブル構造のサンプル:
CREATE TABLE IF NOT EXISTS `helloworld` (
`id` int(9) NOT NULL AUTO_INCREMENT,
`like1` varchar(300) NOT NULL,
`like2` varchar(300) NOT NULL,
`like3` varchar(300) NOT NULL,
`name` varchar(300) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
例クエリ:
SELECT * FROM helloworld WHERE like1='football' AND like2='art'
私はCOUNT
機能を使用して考えていたが、私はわからないのですか?サブクエリを使用する必要がありますか?
編集:私はサーバー側の言語のためにPHPを使用しています。ユーザーは自分の好きなものを入力することはできません。あらかじめ定義されたリストを使用する必要があります。
like1 = 'art'とlike2 = 'football'の場合、上記の例のクエリと一致しますか? – Sparky
申し訳ありませんが、あなたはlike2の列には常にlike1のアートは一致しません。ユーザーは、自分の好きなものを入力したり組み合わせたりすることはできません。あらかじめ定義されたリスト(ドロップダウンメニュー)から選択する必要があります。このサイトはphpとmysqlを使って実装されています。 – TheDeveloper