Чтобы получить необработанные данные, которые вам нужны, вам просто нужно JOIN
таблицы users
и profile
к существующему запросу, один раз для каждого пользователя:
SELECT w1.users_id AS id1,
u1.name AS user1,
u1.email AS user1_email,
p1.about AS user1_about,
w2.users_id AS id2,
u2.name AS user2,
u2.email AS user2_email,
p2.about AS user2_about,
COUNT(w2.watched) AS num_movies,
GROUP_CONCAT(w2.watched ORDER BY w2.watched) AS movies
FROM watched w1
JOIN watched w2 ON w2.watched = w1.watched AND w2.users_id != w1.users_id
JOIN users u1 ON u1.id = w1.users_id
JOIN profile p1 ON p1.users_id = u1.id
JOIN users u2 ON u2.id = w2.users_id
JOIN profile p2 ON p2.users_id = u2.id
WHERE w1.users_id = 1
GROUP BY id1, user1, user1_email, user1_about, id2, user2, user2_email, user2_about
Вывод: [118 ]
id1 user1 user1_email user1_about id2 user2 user2_email user2_about num_movies movies
1 name1 email1@mail.com something about me 2 name2 email2@mail.com something about me 2 movie1,movie2
1 name1 email1@mail.com something about me 3 name3 email3@mail.com something about me 1 movie1
В PHP вы можете сделать что-то вроде:
$id = Чтобы получить необработанные данные, которые вам нужны, вам просто нужно JOIN
таблицы users
и profile
к существующему запросу, один раз для каждого пользователя:
[110] Вывод: [118 ] [111]
В PHP вы можете сделать что-то вроде:
[112]SESSION['id'];
$first = true;
$movies = mysqli_query($connect, "... the query above ...");
while ($row = $movies->fetch_assoc()) {
if ($first) {
echo "User {$row['user1']} ({$row['user1_email']}, {$row['user1_about']}):\n";
$first = false;
}
echo "matched with {$row['user2']} ({$row['user2_email']}) {$row['num_movies']} times on titles {$row['movies']}\n";
}
I would say jsight's answer is a pretty good explanation.
I have looked at Flex, Rails and GWT. All three inhabit the same space, with Flex producing Flash RIAs and GWT and Rails doing the same for HTML.
Having worked with Flex, there is a lot to like but some serious niggling problems, the main one for me being the difficulty integrating HTML into a Flex app - it's no trivial task and there are few projects that can avoid this.
GWT on the other hand is daunting initially because it's Java-based and does not come with the same kind of drag and drop editor that Flex provides in Flex Builder.
But GWT Designer (by Instantiations) is a pretty good equivalent to Flex Builder in the GWT world and for a Java programmer with Swing skills, the architecture of GWT doesn't take much figuring out.
Not to mention the sheer number of Java programmers around who can pitch GWT to their managers as a simple add-on their existing Java toolset.
Plus the Google brand doesn't hurt.
In terms of sellability within the enterprise, a Java tool is always going to be an easier sell than Actionscript or Ruby on Rails. It's hard to say for sure where things are headed but I would expect to see continued growth for all three. Everyone wants RIA these days.
Я думаю, что недавний выпуск GAE, означающий, что GWT RPC можно использовать бесплатно (*), помог бы.
(*) где, как и раньше, вы не сможете разместить приложение GWT, использующее RPC, если у вас нет доступа к контейнеру сервлетов Java (или не используете одну из библиотек мостов для запуска RPC с не-Java-сервера).
Я думаю, что в основном есть три причины для этого:
быть действительно потрясенным, если любой из них применяется вне магазинов Java, все же. Я не видел, чтобы GWT вообще вторгался в не-Java среды, и я думаю, что их нынешнее направление делает успех не-Java еще более маловероятным.
в то время как некоторые люди были смущены в прошлом подходом «без стилей из коробки», который использовался в проекте.Я был бы действительно шокирован, если какой-либо из них применим вне магазинов Java. Я не видел, чтобы GWT вообще вторгался в не-Java среды, и я думаю, что их нынешнее направление делает успех не-Java еще более маловероятным.
в то время как некоторые люди были смущены в прошлом подходом «без стилей из коробки», который использовался в проекте.Я был бы действительно шокирован, если какой-либо из них применим вне магазинов Java. Я не видел, чтобы GWT вообще вторгался в не-Java среды, и я думаю, что их нынешнее направление делает успех не-Java еще более маловероятным.
Я предлагаю эффект Мэтта Рейбла. См .: http://raibledesigns.com/rd/entry/ajax_framework_analysis_results
Серьезно, я думаю, что количество людей, которые основывают решение о стеке технологий на блоге этого парня, значительно.