묻고답하기

페이지에 php를 써서 음악을 넣었습니다.


페이지 명은 music.php이며, 구성은 대충 아래와 같습니다.

$music = array('제목1','제목2','제목3','제목4','제목5') 라는 변수와
$artist = array('가수1','가수2','가수3','가수4','가수5') 라는 변수를 놓았습니다.

그리고 랜덤과 리스트에서의 선택을 위해서

if($no == "") $no = mt_rand(0,sizeof($music) - 1)

라는 변수를 줬습니다.

즉, 페이지를 처음 로딩하거나 랜덤 버튼(no의 값을 없애는 것)을 누르면 $no는 랜덤으로 선택되어집니다.
리스트에서는 곡목마다 링크를 걸고 href="music.php?no=번호" 로 지정을 해두었습니다.


출력부분(echo)에서는

제목 - 가수 형식으로 표시하기 위해

<? echo $music[$no]."<br> - ".$artist[$no]; ?> 로 했습니다.


소스는 재생, 정지를 위해서 윈미플을 이용해서

<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" name="Player">
<param name="Filename" value="../music/<? echo $music[$no]; ?>.wma">
</object>
로 뒀습니다.

소스 보면 아시겠지만, 파일은 wma이며 파일명은 전부 제목으로 했습니다.
(관리를 위해서)


즉, $title 와 $artist는 직접 제가 손보면서 수정해야하고(어차피 파일이 많아봤자 복잡하기만 하니까 10개 정도만 해놓을 생각입니다.), 랜덤과 리스트를 위한 것은 $no 로 설정됩니다.



문제는 랜덤입니다.

APM을 설치해서 작업하고 있는데, 자가테스트할때는 랜덤이 균등하게 잘 됩니다.

하지만 계정에 올려서 직접 웹으로 해보니 몇몇 곡만 집중적으로 선택되어져 버리네요.
(분명히 동일한 파일입니다.)


제가 생각한 방법으로는

1. 폼을 이용해서 name="no", value="" 를 music.php로 전송한다.(전송할 것은 이 히든타입 하나 밖에 없습니다.)
2. a를 이용해서 href="music.php?no="
3. 새로고침을 이용해서 onclick="location.reload();"

일단 3번은 속도 문제로 인하여 제외했습니다.
바탕이 검은색인데 새로고침하여 화면이 다 뜰때까지 하얀색으로 비어있는게 영 아니더군요.


위의 문제가 임시 인터넷 파일 때문이 아닐까 해서 새로고침을 해봤습니다만 문제는 마찬가지였고 속도만 느려져서 제외했습니다.


음...

그러니까 질문은

<a href="music.php?no=">랜덤</a>

또는

<form action="music.php" method="get(post도 상관없음"><input type="hidden" name="no" value=""><input type=submit></form>

을 이용하면 임시 인터넷 파일 때문에 랜덤이 제대로 이루어지지 않을 수 있을까요?


그리고 랜덤을 제대로 하기 위해서는 또 어떤 방법이 있을까요?




== 제가 만든 것입니다(스타일 등의 장식은 생략, head에 레이어 컨트롤 자바스크립트 썼습니다.) ===

<?
$music = array('제목1','제목2','+ '+ '제목3','제목4','제목5');
$artist = array('가수1','가수2','가수3','가수4','가수5');
if ($no == "") $no = mt_rand(0,sizeof($music) - 1);
?>

// 위에서 설명한 변수 부분입니다.


<div id="list" style="position:relative; left:0px; top:0px; width:150px; height:130px; z-index:2 ; visibility:hidden">
     <div>
          1. <a href="music.php?no=0"><? echo $music[0]; ?></a>
          [2. ...   3. .... 등등 목록]
     </div>
     <a onClick="MM_showHideLayers('list','','hide')">CLOSE</a>
</div>

// 리스트는 레이어에 넣어서 리스트 버튼을 클릭하면 보이도록 했습니다. 리스트는 위에서 설명한대로 no= 인 a를 이용했습니다. 하단부에는 리스트 닫는 버튼을 두었습니다.



<table style="position:absolute ; left:0 ; top:0 ; width:150 ; height:130 ; z-index:1">
     <tr>
          <td>
               <object style="visibility:hidden ; height:0 ; width:0" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" name="Player">
               <param name="Filename" value="../music/<? echo $music[$no]; ?>.wma"></object>
               <? echo $music[$no]."<br> - ".$artist[$no]; ?>
          </td>
     </tr>

// 윈도우 미디어 플레이어를 사용했습니다. 소스는 위에서 설명한대로 파일이름.wma로 했죠. 그 밑에는 곡목 - 가수 가 출력됩니다.


     <tr>
          <td>
               <a onclick="Player.play();">ON</a>
               <a onclick="Player.stop();">OFF</a>
               <a href="music.php?no=">RANDOM</a>
               <a onClick="MM_showHideLayers('list','','show')">LIST</a>
          </td>
     </tr>
</table>

// 재생, 정지 버튼과 랜덤 버튼, 리스트 출력 버튼이 있습니다. 재생, 정지를 위해 윈미플을 이용했습니다.


http://seeker.pe.kr/base/stuff.htm 이 현재 작업중인 곳입니다.

이 소스를 좀 더 최적화 시키고 랜덤을 제대로 할 수 있는 팁을 가르쳐주시면 감사하겠습니다.
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
컴박살 부탁드려요 1.7.4.1 --> 1.7.3.9로 다운그레이드 하려고하는데요  
모르게떠염 닉네임을 클릭 자체가 안되도록 하고 싶어요 [6] 2014.03.22 by 모르게떠염
eric79won 이거 도대체 뭐라는 에러 인건지 봐주실수 있으신지요... [4] 2014.03.22 by 마이웹
boy2 회원메뉴? 에서 현재창 이동 안 되나요? [2] file 2014.03.22 by 마이웹
EnuX 에디터 안에서 font-family 적용 문제 [5] 2014.03.22 by EnuX
KrteamENT font Awasome 메뉴 적용 문의 [4] 2014.03.22 by KrteamENT
포동이 아이프레임에서 게시물 클릭시 최상단으로 가는 방법 질문드립니다.. [1] 2014.03.22 by 담소
공업수학2 게시판 위에 나오는 홈>커뮤니티>묻고답하기 매뉴 삭제 [2] file 2014.03.22 by 담소
기쁨넘어영광 갑자기 레이아웃 관리자가 사라졌어요 [5] file 2014.03.22 by 기쁨넘어영광
졸라맨 쪽지보내기창 수정문의 [2] 2014.03.22 by W.O
eric79won xe/files/cache 폴더에 있는것들 지워도 되나요? [3] 2014.03.22 by W.O
eric79won 도메인 리뉴얼후 500 internal server error [1] 2014.03.22 by W.O
졸라맨 회원정보보기에 메뉴 추가하는 방법 [1] 2014.03.22 by W.O
콩까기 이미지 리사이즈 애드온 질문드립니다. [1] 2014.03.22 by W.O
생까는즐거움 NAVER Analytics네어버에서 연동이 안된다고 답변이 왔어요 [1] 2014.03.22 by W.O
졸라맨 통합검색 수정 문의 [1] 2014.03.22 by W.O
lord 인증메일 재발송 문제 에러 file  
zeneger 모바일 게시판에서 제목이외에 확장변수로 만든 다른것으로 바꿀수 없나요? [1] 2014.03.22 by 키스투엑스이
기쁨넘어영광 이 사이트에서 쓰는 제로보드 게시판이 뭔지 알려주세요 ^^ [4] 2014.03.22 by 기쁨넘어영광
zeneger 모바일 게시판에서 제목이외에 확장변수로 만든 다른것으로 바꿀수 없나요?  
sirisic 포인트복권 어떻게 사용하나여?  
eric79won 도메인 사용기간 지나서, 다시 샀는데...홈페이지 빈페이지 뜨네요... [5] 2014.03.22 by 외인
dwdw db복구 하는방법 [1] 2014.03.21 by 나이스가이™
아뜰리에80 도와주세요 ㅠㅠ 첨부파일 버튼 먹통현상. [12] 2014.03.21 by Sellhobby
모이어 위젯페이지에서 "내용직접추가"로 이미지에 usemap 안되네요! [2] 2014.03.21 by 모이어
맥문동 if와 cond문을 이렇게 같이 사용해도 될까요? [1] 2014.03.21 by sejin7940
기쁨넘어영광 게시판 글이 안보여요.. [4] 2014.03.21 by 기쁨넘어영광
TakeUrban 에디터에 폰트 추가 [1] 2014.03.21 by 조인잡
맥문동 if 조건문을 어떻게 해야 하는지 혹시 아시는 분 계시면 도움 말씀 좀 부탁드립니다. [2] 2014.03.21 by 맥문동
bangkoksnaps 기본 카운터 질문드립니다. [2] 2014.03.21 by bangkoksnaps