2016-04-18 12 views
0

基本的に達成しようとしているのは、最初のクエリと2番目のクエリを組み合わせることです。問題は最初のクエリの結果を配列できないということです第2のもので使用する。ここで私の最初の質問は、これが実現するのは、一般的にはこのように見えるユーザからの部屋の科目をすべて選択することです.は一度選択されると単語の主語を取り除き、ハッシュタグだけを保持しますすべての部屋のテーマからすべてのハッシュタグを選択すると、#room#enjoyが保持され、すべてのユーザの主題の中でどのくらい頻繁に使用されているかを注文します。クエリを組み合わせて結果を配列する

$sql = mysql_query("SELECT subject FROM `users`"); 
$row = mysql_fetch_array($sql); 

$freqDist = []; 
foreach($results as $row) 
{ 
     $words = explode(" ", $row); 
     foreach($words as $w) 
     { 
       if (array_key_exists($w, $freqDist)) 
         $freqDist[$w]++; 
       else 
         $freqDist[$w] = 1; 
     } 
} 
arsort($freqDist); 

foreach($freqDist as $word => $count) 
{ 
    if (strpos($word, '#') !== FALSE) 
     echo "$word: $count\n"; 
    else 
     echo "$word: does not contain hashtag, DROPPED\n"; 
} 

は、今私がここで達成しようとしている私はそう、私は上からつかまされた各ハッシュタグのアクションを実行することができます上記のクエリからの結果から、アレイにしようとしているということです。下に私はコードを含み、本質的に私が直面している問題はこの行だけにある$all = array("hashtag1", "hashtag2", "hashtag3");私が達成しようとしているのは、ハッシュタグを直接入力するのではなく、上記のクエリを使用します。

$all = array("hashtag1", "hashtag2", "hashtag3"); 
    $trending = $all; 
    foreach($trending as $tags) 
    { 
    $sql = mysql_query("SELECT * FROM `users` WHERE `subject` LIKE '%$tags%'"); 
     $sums = mysql_query("SELECT SUM(viewers) AS viewers FROM `users` WHERE `subject` LIKE '%$tags%'"); 
      $num_rows = mysql_num_rows($sql); 
      $row = mysql_fetch_assoc($sql); 
      $sum = mysql_fetch_assoc($sums); 
    } 

私の問題の概要を説明すると、最初のクエリの結果を取得し、2番目のクエリの配列として使用しようとしています。この質問の長さをお詫び申し上げます。私はあなたの質問をよりよく理解する助けになると思っていました。

答えて

0

私の理解しているように、ハッシュタグ値を配列に格納したいとします。その場合はforeach()を更新してください

$hashWord = array(); 
foreach($freqDist as $word => $count) 
{ 
    if (strpos($word, '#') !== FALSE) 
     echo "$word: $count\n"; 
     $hashWord[] = $word; 
    else 
     echo "$word: does not contain hashtag, DROPPED\n"; 
} 
関連する問題