function getUserHistory($userId, $connection, $limit = 20) { $historyResult = $connection->query("select * from `user_response_history` WHERE UserID = '" . $userId . "'"); $historyList = array(); $historyCount = 0; while ($row = $historyResult->fetch_assoc()) { $historyList[$historyCount]['offerID'] = intval($row["OfferID"]); $historyList[$historyCount]['rate'] = intval($row["Rate"]); $historyList[$historyCount]['dttm'] = $row["DateTime"]; $historyList[$historyCount]['similar'] = getSimilarOffers(intval($row["OfferID"]), $connection); $historyCount++; } return $historyList; }
$recommendedList[$movieCount]['imdbRate'] = floatval($row["Imdb_rating"]); $recommendedList[$movieCount]['imddVotes'] = floatval($row["Imdb_votes"]); $recommendedList[$movieCount]['categories'] = explode("|", utf8_encode($row["OfferDetailCategories"])); $recommendedList[$movieCount]['year'] = intval($row["OfferDetailYear"]); $recommendedList[$movieCount]['reviews_in_cluster'] = intval($row["REVIEWS"]); $recommendedList[$movieCount]['rate_in_cluster'] = floatval($row["AVG_Rate"]); $recommendedList[$movieCount]['cluster_distance'] = floatval($row["distance"]); $recommendedList[$movieCount]['movie_distance'] = floatval($row["AVG_DISTANCE"]); $recommendedList[$movieCount]['prob'] = floatval($row["Prob"]); $recommendedList[$movieCount]['points'] = floatval($row["Points"]); if ($row["Poster"]) { $recommendedList[$movieCount]['picture'] = "http://api.klaudnabli.com/reco/cache.php?oid=" . intval($row["OfferID"]); } $recommendedList[$movieCount]['plot'] = utf8_encode($row["Plot"]); $recommendedList[$movieCount]['fullPlot'] = utf8_encode($row["FullPlot"]); $recommendedList[$movieCount]['similarOffers'] = getSimilarOffers(intval($row["OfferID"]), $mysql, 20); $movieCount++; } // read own cluster statistics $ownClusterResult = $mysql->query("SELECT `UserID`, `QUOTE_of_IMAX_Movie`, `QUOTE_of_Action_Movie`, `QUOTE_of_Adventure_Movie`, `QUOTE_of_Animation_Movie`, `QUOTE_of_Children_Movie`, `QUOTE_of_Comedy_Movie`, `QUOTE_of_Crime_Movie`, `QUOTE_of_Documentary_Movie`, `QUOTE_of_Drama_Movie`, `QUOTE_of_Fantasy_Movie`, `QUOTE_of_FilmNoir_Movie`, `QUOTE_of_Horror_Movie`, `QUOTE_of_Musical_Movie`, `QUOTE_of_Mystery_Movie`, `QUOTE_of_Romance_Movie`, `QUOTE_of_SciFi_Movie`, `QUOTE_of_Thriller_Movie`, `QUOTE_of_War_Movie`, `QUOTE_of_Western_Movie`, `AVG_of_IMAX_Rate`, `AVG_of_Action_Rate`, `AVG_of_Adventure_Rate`, `AVG_of_Animation_Rate`, `AVG_of_Children_Rate`, `AVG_of_Comedy_Rate`, `AVG_of_Crime_Rate`, `AVG_of_Documentary_Rate`, `AVG_of_Drama_Rate`, `AVG_of_Fantasy_Rate`, `AVG_of_FilmNoir_Rate`, `AVG_of_Horror_Rate`, `AVG_of_Musical_Rate`, `AVG_of_Mystery_Rate`, `AVG_of_Romance_Rate`, `AVG_of_SciFi_Rate`, `AVG_of_Thriller_Rate`, `AVG_of_War_Rate`, `AVG_of_Western_Rate` FROM `demo_user` WHERE `UserID` = " . $_SESSION['userid']); $row = $ownClusterResult->fetch_assoc(); $clusterLabels = "You"; $clusterQuoteData = floor(100 * $row['QUOTE_of_Action_Movie']) . "," . floor(100 * $row['QUOTE_of_Adventure_Movie']) . "," . floor(100 * $row['QUOTE_of_Animation_Movie']) . "," . floor(100 * $row['QUOTE_of_Children_Movie']) . "," . floor(100 * $row['QUOTE_of_Comedy_Movie']) . "," . floor(100 * $row['QUOTE_of_Crime_Movie']) . "," . floor(100 * $row['QUOTE_of_Documentary_Movie']) . "," . floor(100 * $row['QUOTE_of_Drama_Movie']) . "," . floor(100 * $row['QUOTE_of_Fantasy_Movie']) . "," . floor(100 * $row['QUOTE_of_FilmNoir_Movie']) . "," . floor(100 * $row['QUOTE_of_Horror_Movie']) . "," . floor(100 * $row['QUOTE_of_Musical_Movie']) . "," . floor(100 * $row['QUOTE_of_Mystery_Movie']) . "," . floor(100 * $row['QUOTE_of_Romance_Movie']) . "," . floor(100 * $row['QUOTE_of_SciFi_Movie']) . "," . floor(100 * $row['QUOTE_of_Thriller_Movie']) . "," . floor(100 * $row['QUOTE_of_War_Movie']) . "," . floor(100 * $row['QUOTE_of_Western_Movie']); $clusterRateData = floor(20 * $row['AVG_of_Action_Rate']) . "," . floor(20 * $row['AVG_of_Adventure_Rate']) . "," . floor(20 * $row['AVG_of_Animation_Rate']) . "," . floor(20 * $row['AVG_of_Children_Rate']) . "," . floor(20 * $row['AVG_of_Comedy_Rate']) . "," . floor(20 * $row['AVG_of_Crime_Rate']) . "," . floor(20 * $row['AVG_of_Documentary_Rate']) . "," . floor(20 * $row['AVG_of_Drama_Rate']) . "," . floor(20 * $row['AVG_of_Fantasy_Rate']) . "," . floor(20 * $row['AVG_of_FilmNoir_Rate']) . "," . floor(20 * $row['AVG_of_Horror_Rate']) . "," . floor(20 * $row['AVG_of_Musical_Rate']) . "," . floor(20 * $row['AVG_of_Mystery_Rate']) . "," . floor(20 * $row['AVG_of_Romance_Rate']) . "," . floor(20 * $row['AVG_of_SciFi_Rate']) . "," . floor(20 * $row['AVG_of_Thriller_Rate']) . "," . floor(20 * $row['AVG_of_War_Rate']) . "," . floor(20 * $row['AVG_of_Western_Rate']); // read next cluster statistics $clusterResult = $mysql->query("SELECT a.Cluster, round(Distance,2) as Distance , `AVG_of_Rate`, `COUNT_of_Users`, `COUNT_of_Movies`, `QUOTE_of_IMAX_Movie`, `QUOTE_of_Action_Movie`, `QUOTE_of_Adventure_Movie`, `QUOTE_of_Animation_Movie`, `QUOTE_of_Children_Movie`, `QUOTE_of_Comedy_Movie`, `QUOTE_of_Crime_Movie`, `QUOTE_of_Documentary_Movie`, `QUOTE_of_Drama_Movie`, `QUOTE_of_Fantasy_Movie`, `QUOTE_of_FilmNoir_Movie`, `QUOTE_of_Horror_Movie`, `QUOTE_of_Musical_Movie`, `QUOTE_of_Mystery_Movie`, `QUOTE_of_Romance_Movie`, `QUOTE_of_SciFi_Movie`, `QUOTE_of_Thriller_Movie`, `QUOTE_of_War_Movie`, `QUOTE_of_Western_Movie`, `AVG_of_IMAX_Rate`, `AVG_of_Action_Rate`, `AVG_of_Adventure_Rate`, `AVG_of_Animation_Rate`, `AVG_of_Children_Rate`, `AVG_of_Comedy_Rate`, `AVG_of_Crime_Rate`, `AVG_of_Documentary_Rate`, `AVG_of_Drama_Rate`, `AVG_of_Fantasy_Rate`, `AVG_of_FilmNoir_Rate`, `AVG_of_Horror_Rate`, `AVG_of_Musical_Rate`, `AVG_of_Mystery_Rate`, `AVG_of_Romance_Rate`, `AVG_of_SciFi_Rate`, `AVG_of_Thriller_Rate`, `AVG_of_War_Rate`, `AVG_of_Western_Rate` FROM `in_memory_cluster` a, cluster_detail b where a.Cluster = b.Cluster AND UserID = " . $_SESSION['userid'] . " ORDER by Distance LIMIT " . $_SESSION['nclusters']); $nclusterCount = 0; $nextCluster = array(); while ($row = $clusterResult->fetch_assoc()) { $nextCluster[$nclusterCount]['SegmentID'] = intval($row["Cluster"]); $nextCluster[$nclusterCount]['Distance'] = floatval($row["Distance"]);