Let's say there are 10 posts, and I have sent a response onto 7 of posts. When other user send response to the posts, the system must check and tell me if a开发者_如何学运维ny 7 of posts receive a new response. The system will not check the other 3 posts, it will check the 7 posts that I have responded only.
Step 1 - SELECT post-id FROM responsesLive WHERE username='{$myUsername}';
//This will output many duplicated post-id if I sent multiple responses onto a particular post. How to prevent the duplicated post-id?
Step 2 - After I get 7 of the post-id, I need to get the response-id of last response in each of the 7 posts. Do I need to use array to store the 7 post-id? Or I just need to write this query within while loop of previous query like :
$query3 = "SELECT id FROM responseslive WHERE username='{$myUsername}'";
$result3 = mysql_query($query3,$connection) or die (mysql_error());
confirm_query($result3);
while($postinfo = mysql_fetch_array($result3)){
$post-id= $postinfo['post-id'];
$query4 = "SELECT rsp-id FROM responseslive WHERE postid='{$post-id}' ORDER BY rsp-id DESC LIMIT 1";
$result4 = mysql_query($query4,$connection) or die (mysql_error());
confirm_query($result3);
while($rspinfo = mysql_fetch_array($result4)){
$last-rsp-id= $rspinfo['rsp-id'];
}
}
Step 3 - Then compare current $last-post-id
to previous $last-post-id
, if current $last-post-id
is greater than previous $last-post-id
, then tell the user that there is a new response on the post that he have responded before.
For step 1:
SELECT DISTINCT post-id FROM responsesLive WHERE username='{$myUsername}';
this will returns only distinct post-ids.
For step 2:
SELECT
postid, max(rsp-id)
FROM
responseslive
WHERE postid in (
SELECT DISTINCT post-id FROM responsesLive WHERE username='{$myUsername}');
GROUP BY
postid
This will give you and array with posts ids and their last responses ids.
精彩评论