다음 페이지 단추를 클릭 할 때 데이터베이스에서 사용자 테이블의 임의 순서를 유지하는 솔루션을 찾고 있습니다. 사실방법 : 페이지 번호가있는 user_id (RAND) 별 MySQL 순서
나는 1000 사용자와 데이터베이스를 가지고 있고 10 사용자 (A 멤버에) 각 페이지를 표시하려면, 내 쿼리는 다음과 같다 :
이제$sql = "SELECT * FROM users ORDER BY user_id LIMIT 1,10";
나는 RAND의 ORDER BY 싶습니다() 다음 페이지를 클릭 할 때를 제외하고는 작동합니다. 그런 다음 다시 섞여서 동일한 사용자가 다시있을 때가 있습니다.
제 질문은 첫 페이지와 다음 페이지에서도 무작위 순서를 유지하는 해결책에 관한 것입니다.
은 누군가가 1000 1에서 단행 번호가 처음으로 멤버를 방문하고 번호입니다 후 $ _SESSION 변수 에 위치하여 회원을 주문할 때 $ _SESSION 변수를 설정하려고 생각 user_id과 같습니다.이 가능 할 수있는 방법을 몰라,하지만 난 실제로 같은 솔루션 상상 :
이 같은 두 페이지 (다음 페이지)를 클릭하면 그래서 MySQL의 쿼리를해야합니다$numbers = range(1, 1000);
$shuffled_numbers = shuffle($numbers);
$sort = $_SESSION['random_user_sort'] = $shuffled_numbers;
을
$sql = "SELECT * FROM users ORDER BY $sort LIMIT 11,20";
이 방법이나 더 나은 아이디어로 작동시키는 데 필요한 모든 해결책은 무엇입니까?
당신은 단지 1000 개의 행을 가지고 있으므로 모든 것을 랜덤 화하고 응용 프로그램 수준에서 페이지 매김을 처리하므로 데이터베이스에만 적용됩니다. – Strawberry
더 나은 아이디어는 이것을하지 않을 것입니다. 이전에 선택한 사용자를 알아야 할 것입니다. 그렇다면 수백만 개의 테이블을 보유하고 있다면 어떻게 될까요? 나는. 적어도 느려질 것입니다 –
사용자 관점에서 목표가 무엇인지 설명해주십시오. 비즈니스 로직에 관한 한 정확히 당신이하고 싶은 일과 기술적으로 어떻게 달성 할 것인지에 대한 것입니다. 나는 당신이 달성하기를 바라는 것이 더 많은 것을 확장 할 수있는보다 쉬운 해결책을 가지고 있다고 생각합니다. – idipous