0

ニュースフィードを表示しているだけですが、問題は、ユーザーがアイテムを評価できるようにしたいことです。ランク付けしたい場合はデータベースに保存する必要があると読みましたが、どうすればよいですか?これが私のコードです:

$data = file_get_contents('https://news.google.com.mx/news/feeds?hl=es&gl=us&q='.tennis.'&um=1&ie=UTF-8&output=rss');

$xml = new SimpleXMLElement($data);
$channel = array();
$channel['title']       = $xml->channel->title;

foreach ($xml->channel->item as $item)
{
    echo $article['pubDate'] = $item->pubDate;
    echo $article['description'] = (string) trim($item->description);
}

誰かがそれを行う方法についてアイデアを与えることができますか?読んでからデータベースに挿入する必要があると思いますが、わかりません。ランキングのテーブルをデザインする必要があります。このための良いチュートリアルはありますか?

4

1 に答える 1

1

あなたがそれをどのように説明したかから、私は、ニュース記事、評価自体、そして評価をしているユーザーの3つのエンティティが関係していると思います。

  1. ニュース記事のテーブルが必要になります。各ストーリーを識別する方法を理解する必要があります(おそらくそのURLなどによって)。また、重複を避けながら、フィードからデータベースに新しいストーリーを挿入するメカニズムも必要です。(理由は、ニュースフィードのURL全体をシステムに保存して評価することはお勧めできません。これは、不要なスペースを占有し、クエリの速度を低下させるためです。)

  2. ユーザーのためのテーブル。誰が投票しているかを知るために、ある種の認証メカニズムが必要になります。また、1人のユーザーが同じ記事に複数回投票できないことを確認するためのクエリを作成する必要があります。

  3. 最後に、評価表。これは、外部キー参照を使用して上記のユーザーストーリーの表を参照し、評価用の単一の数値列を含みます。

上記はあなたのアプリケーションにとって良いデータベース設計だと思います...

于 2012-04-23T02:20:15.260 に答える