2016-04-18 8 views
0

Okay, im Wesentlichen versuche ich zu erreichen, die erste Abfrage mit der zweiten zu kombinieren. Das Problem, das ich habe, ist, dass ich die Ergebnisse der ersten Abfrage dann nicht mehr anordnen kann Verwenden Sie in der zweiten. Hier ist meine erste Abfrage, was dies erreicht, ist, dass es wählt alle Zimmer Themen von meinen Nutzern, die in der Regel so aussehen, welcome to my #room hope you #enjoy einmal wählt man es wird dann streichen das Thema der Wörter und wird nur die Hash-Tags zum Beispiel behalten wird behalten #room und #enjoy sobald es durchgeht und wählt alle Hash-Tags aus allen Raum Themen wird es dann bestellen, wie häufig sie unter Themen aller Benutzer verwendet werden.Abfragen zusammenfassen und Ergebnisse gruppieren

$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"; 
} 

Nun, was ich versuche, hier zu erreichen ist, dass ich Array aus den Ergebnissen der obigen Abfrage ich versucht, so ist, dann kann ich eine Aktion für jeden Hash-Tag durchführen, die von oben ergriffen wird. Im Folgenden habe ich den Code und im Wesentlichen das Problem, das ich Gesicht liegt nur auf dieser Linie $all = array("hashtag1", "hashtag2", "hashtag3"); als was ich versuche zu erreichen ist, anstatt direkt eingeben die Hash-Tags, die ich die Aktion ausführen möchte ich möchte sie ergriffen werden über die obige Abfrage.

$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); 
    } 

Also wieder nur mein Problem zu umreißen Ich versuche, die Ergebnisse aus der ersten Abfrage zu greifen und sie als ein Array mit der zweiten Abfrage verwenden. Ich entschuldige mich für die Länge dieser Frage Ich habe gerade angenommen, dass es Ihnen helfen würde, meine Frage besser zu verstehen.

Antwort

0

Nach meinem Verständnis möchten Sie den Hashtag Wert in einem Array speichern. Wenn ja, dann aktualisieren Sie einfach Ihre 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"; 
} 
Verwandte Themen