-2

ビデオを含む巨大なデータベースがあります。各動画には、「;」で区切られた動画に関するキーワードを含むキーワード データがあります。すべての動画のすべてのキーワードのリストを取得したいのですが、重複はありません。

リストを取得する適切な方法はありますか?

4

2 に答える 2

0

データベースからデータを取得し、配列を構築します。

//Get Data in Array
$KeywordList = array();
$AllData = getFromDB();

foreach($AllData as $Record){

  $RecordKeywords = explode(';', $Record['KeyWords']);

  //Add to keyword list, overwriting duplicates
  foreach($RecordKeywords as $Keyword){
    $KeywordList[$Keyword] = $Keyword;
  }



}

//This will give you a list of all keywords without duplicates
print_R($KeywordList);
于 2013-05-12T08:52:27.273 に答える
0

ビデオテーブルを検索する単純なクエリを実行するだけで、ふるい分けアルゴリズムを使用できます。

$sql = mysql_query("SELECT * FROM video_table WHERE 1");
$count = mysql_num_rows($sql);

$keywords = array();
$id = array(); // IF Needed to match the video to its keywords.

while($row = mysql_fetch_assoc($sql)) {
  $keywords[] = row['keywords'];
  $id[] = row['id'];   // Should be the primary key in your db table. on Auto Increment

}

$video_keywords = array();

for($i = 0; $i < $count; $i++) {
  $keywords_expanded = explode(';',$keywords[$i]);
  $keywordsExp_count = count($keywords_expanded);  
  for($j = 0; $j < $keywordsExp_count; $j++) {
    $video_keywords[$k] = $keywordsExp_count[$j];
    $k++;
  }
}

$video_keywords = array_unique($video_keywords);

print_r($video_keywords);
于 2013-05-12T09:04:03.027 に答える