2013-03-06 3 views
0

트윗으로 가득 찬 데이터베이스 테이블이 있고 그 중 하나가 "제목"입니다. 데이터베이스에 트윗을 저장할 때 특정 키워드의 존재 여부를 확인하고 트윗이 일치하는 대상이 있으면 해당 단어가 대상으로 설정됩니다. 내가 확인하고 있습니다표에 백분율 키워드가 표시됩니다.

키워드 : 비버는

트윗을 짜증 : OMG 내가 비버을 사랑 해요! 저장

제목 : 비버


키워드 나 확인 해요 : 비버는

트윗을 짜증 :이 진공 정말 잘 안됐다!

주제 저장 : 내가이 주제에 의해 트위터에 '목소리'의 비중을 나열 내 사이트에

를 안됐다. 아래를 참조

enter image description here

이 본질적으로 ('여기 KEYWORD'대상 =와 트윗의 수)/(데이터베이스에 총 트윗) 될 것입니다.

막대 차트는 다음과 같습니다 :

<div class="barChart" data-value="2" data-title="eCircle"></div> 

내가 제일 SQL 문 및 PHP는이를 위해 아니에요. 나는 그것을 무차별 적으로 강제하고 각각의 개별 키워드를 거치지 만, 나는 데이터베이스에 많은 호출을하고 싶지 않다 ... 낭비 적으로 보인다.

총 수를 계산 한 다음 각 키워드의 수를 하나의 큰 쿼리로 되돌릴 수 있습니까? 그것이 어레이 또는 무엇인가로서 되돌아 오는 것처럼?

나쁜 시도 :

<?php 
    include 'php/Connect.php'; 
    $totalTweets = 0; 

    $ct = new Connect(); 
    $con = $ct->connect(); 
    $sql_query = 
     "SELECT COUNT(*) FROM tweets"; 
    $res = mysql_query($sql_query, $con); 

    if (!$con | !$res) { 
     echo "Problems connecting..."; 
    } 

    else { 
     mysql_close($con); 
     while($row = mysql_fetch_assoc($res)) { 
      $totalTweets = $row['count(*)']; 
     } 
    } 

    $sql_query = 
     "SELECT COUNT(*), subject FROM tweets 
      WHERE subject = 'KEYWORD HERE'"; 
    $res = mysql_query($sql_query, $con); 

    if (!$con | !$res) { 
     echo "Problems connecting..."; 
    } 

    else { 
     mysql_close($con); 
     while($row = mysql_fetch_assoc($res)) { 
      $firstKeyword = $row['subject']; 
      $firstKeywordCount = $row['count(*)']; 
     } 
    } 

    echo("<div class='barChart' data-value='".($firstKeywordCount/$totalTweets*100)."' data-title='$firstKeyword'></div>"); 

    // CONTINUE THIS UNTIL ALL KEYWORDS/SUBJECTS HAVE BEEN DONE 
?> 
+0

[무엇을 시도해 봤습니까?] (http://www.whathaveyoutried.com/) [ask advice] (http://stackoverflow.com/questions/ask-advice)를 참조하십시오. –

+0

지금 편집하십시오. 잠시만. – Jon

+0

내 시도가 추가되었습니다. – Jon

답변

1

당신이이 쿼리를 할 수 있습니까?

select subject, count(*) as numTweets from tweets group by subject; 
select count(*) as totalTweets from tweets; 
+0

그럴 것 같습니다. 감사! 첫 번째 문장의 값을 사용하여 총 개수를 계산하여 하나에 압축 할 수 있습니다. 많은 감사합니다! – Jon

+0

@Jon Ah 그래 좋은 지적 :) – Brandon

관련 문제