Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

페이지가 있는 리스트에서 랜덤 정렬?

2012-02-28 by 편리

쇼핑몰 작업을 하다보면 가끔 상품 페이지의 정렬을 랜덤으로 해달라고 요청을 받을 때가 있는데.. 그런 경우
mysql 에서는 order by rand() 이렇게 처리를 하면 되는데.. 문제는 리스트가 한페이지가 아니라 2페이지 이상일
경우인 것이다. rand()로 정렬을 하게 되면 1페이지에 나왔던 상품이 2페이지에 또 나올 수도 있는 문제가 있어서
여러 방법을 구상을 해봤는데 지금 내 실력으로 할 수 있는.. 아니 생각할 수 있는 방법을 구상해봤다.

기본 개념은 페이지에 노출된 상품을 추출한 후 이 정보를 다시 배열에 저장하고 이 배열의 정보를 랜덤으로 추출하는 것이다. 말로 표현하자니 좀 이상한데 아래 코드를 보면 그리 어렵지 않을 것이다. 근데 코드가 참 거지같다는..

<?php
$sql = ” select no, name, cost from item_table order by no asc limit 0, 20 “;
$result = mysql_query($sql);

$item_count = mysql_num_rows($result);
$arr = range(0, ($list_count – 1));

shuffle($arr);

$list = array();
for($k = 0; $row = mysql_fetch_assoc($result); $k++) {
    $list[$k][no] = $row[no];
    $list[$k][name] = $row[name];
    $list[$k][cost] = $row[cost];
}

for($i = 0; $i < $item_count; $i++) {
    $idx = $arr[$i];
    echo “{$list[$idx][no]}”;
    echo “{$list[$idx][name]}”;
    echo “{$list[$idx][cost]}”;
}
?>

코드에서 볼드체 부분을 좀 더 멋지게 만들어 보고 싶은 생각이 있는데.. 예를 들어 foreach()를 사용한다는 가 하는..
근데 아직 실력이 미천하여.. 거기다  좀 더 핑게를 더하면 일하느라 바빠서 연구할 시간이 많지 않다는.. ㅋ 나중에
시간이 생기고 마음의 여유가 생기면 다시 한번 시도해봐야 할 것 같다. 그게 언제일지는 나도 알 수가 없지만서도..

Post navigation

Previous Post:

간만에 고기

Next Post:

게시판에서 내가 쓴 글과 그 글의 답글도 함께 보여줄 때 사용하는 MySQL Query

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅
  • 우분투 시스템 터미널쉘 zsh 로 변경

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes