알겠습니다. 제 질문은 좀 구체적이고 설명하기 어렵습니다. 그래서 단순화하려고 노력하겠습니다.
웹사이트의 "팁"을 표시하는 MySQL 테이블이 있습니다. 프롬프트는 순서 열의 정수를 기준으로 정렬됩니다. 따라서 테이블은 다음과 같습니다: id(int 증가), 프롬프트(varchar), order(int).
이제 첫 번째 프롬프트가 사용자에게 표시되면 사용자가 확인할 때까지 표시되고 다음 프롬프트가 표시됩니다.
사용자가 마지막으로 확인한 프롬프트를 기반으로 다음 프롬프트를 받기 위한 쿼리를 생각해냈습니다.
으아악이 쿼리는 매우 유용합니다. 그러나 때때로 새 프롬프트를 추가해야 하는 경우가 있는데, 일반적으로 마지막 프롬프트가 아닌 중간 어딘가에 있습니다. 예를 들어 사용자는 주문 #6의 마지막 프롬프트를 보았지만 위치 #3에 새 프롬프트를 추가했습니다. 이 사용자는 이미 프롬프트 #6을 보았다는 사실을 저장했기 때문에 이 새로운 프롬프트는 이 사용자에게 표시되지 않습니다.
이 문제를 관리할 수 있는 방법이 있나요? 아마도 하나 또는 두 개의 MySQL 쿼리만 필요할까요?
어떤 도움이나 팁이라도 미리 감사드립니다.
EDIT: 각 사용자는 자신만의 "조회 상태"를 가지고 있습니다. 간단히 PHP의 $_SESSION['last_seen_item_order']에 저장합니다.
이 논리로는 관리할 수 없습니다.
이를 위해서는 추가 열을 유지해야 합니다. -
으아악seen
이미 본 사용자라면hints
,您可以将其设置为1
따라서 귀하의 질문은 다음과 같습니다 -NOTE - 제가 추천드리는 내용입니다. 당신은 다른 많은 아이디어를 가질 수 있습니다.
편집 - 사용자별로 프롬프트를 유지하려면
seen
유지하는 두 가지 옵션이 있을 수 있습니다.json
형식의 프롬프트를 확인하세요.id
(증분),user_id
,hint_id
,user_hints_see
的单独表,其中包含id
(自增)、user_id
、hint_id
、seen
Column을 포함하는user_hints_see
라는 별도의 테이블을 만듭니다.