2014-06-30 3 views
2

게시 시스템이 있습니다. 문제는 사용자가 Hi라고 말하면서 다른 게시물을 제출할 때까지 표시되지 않는 경우입니다. 그런 다음 Hi이 표시되지만 다른 게시물은 표시되지 않습니다. 그래서 당신은 그것을 "지연"이라고 부를 수있을 것 같네요? 제가 DB이전 게시물 만 반환하는 게시물

<?php 
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ 
     $stmt1 = $con->prepare("SELECT COUNT(*) AS count FROM likes WHERE liked_post_id = :id;"); 
     $stmt1->bindValue(':id', $row['id'], PDO::PARAM_STR); 
     $stmt1->execute(); 
     $likes = $stmt1->fetch(PDO::FETCH_ASSOC); 
     echo $row['post_content'].'-'.time_ago($row['post_date']).'-'.$likes['count']; 
    ?> 

에서 검색 해요 방법은 다음입니다 그리고 DB에 확인하고 지금 하나 개의 레코드를 프로그래머, 그리고 나는 페이지와 프로그래머없이 게시물을 확인. 그래서 어떤 아이디어라도 좋을 것입니다. 내가 무슨 뜻인지 이해했으면 좋겠어.

+3

"$ stmt"쿼리를 추가 할 수 있습니까? 게시물 테이블에 삽입 (심지어 트랜잭션 호출, 사용되는 경우) –

+0

좀 더 코드를 줄 수 있습니까? 어쩌면 당신은 한 번 루프와 두 번째 시간 while 루프와 같이 두 번 행을 가져온 것일 수 있습니다. 나는이 실수를 한참 전에했다. 이 경우 첫 번째 가져 오기에서 마지막 게시물을 잃게됩니다. – Aleksandar

+5

동일한 연결을 사용하여 SELECT 전에 INSERT가 발생하면 INSERT가 자동 커밋되지 않아 SELECT가 이전 데이터를 가져 오게하고 INSERT가 스크립트의 EOL에서 커밋 된 확률이 높습니다. – MonkeyZeus

답변

2

질문을 올바르게 이해했다면 데이터베이스에 항목이 있지만 다른 POST를 작성할 때까지는 페이지에 표시되지 않습니다. POST를하면 페이지가 새로 고쳐지고 이전 POST가 표시됩니다. POST 후 수동으로 페이지를 새로 고치기 위해 약간의 PHP 코드 (예 : header("Location: $_SERVER['REQUEST_URI']");)를 추가하면 바로 표시됩니다.

관련 문제