<div class="boxb1"><?=불러오는 내용1?></div>
<div class="boxb2"><?=불러오는 내용2?></div>
<div class="boxb3"><?=불러오는 내용3?></div>
<div class="boxb4"><?=불러오는 내용4?></div>
요렇게 되어있는 네개의 div를 페이지를 불러들일때마다
순서는 랜덤하게 겹치지 않게 한번씩 불러오고 싶은데요..
이런 경우면 어떻게 문법을 해야하나요?
rand 함수를 네번 적어보니 한페이지에 같은 div가 출력되는거 같더라구요..ㅠㅠ
고수님들 도움 부탁드립니다 ^^
문법 까막눈이라 자세히 설명안해주시면 쫓아다니면서 더 질문드릴겁니다 ^^
답변 1개 / 댓글 10개
채택된 답변
+20 포인트
배열로 div 이름 또는 아이디를 넣으시고,
shuffle로 섞어주시면 중복되지 않게 섞입니다.
그걸 순서대로 뿌려주면 될겁니다.
저도 사이트에 배너가 여러개일때 무작위로 뿌려줄때 이렇게 했습니다.
답변에 대한 댓글 10개
점심시간이라 그냥 생각나는대로 써봅니다.
일단 불러오는 내용이 단문이라고 가정하면,
$n_rnd_no = array("1","2","3","4");
shuffle($n_rnd_no);
for($i=1;$i<=4;$i++)
{
?>
<div class="boxb<?=$n_rnd_no[$i]?>"><?=$memo[$n_rnd_no[$i]]?></div>
<?
}
물론 불러오는 내용이
$memo[1] = 첫번째
$memo[2] = 두번째
이런식으로 들어가 있어야 하겠죠...
제가 야매로 배운거라 정규식 같은거 잘 모릅니다. 정리는 고수분들이... 쿨럭....
일단 불러오는 내용이 단문이라고 가정하면,
$n_rnd_no = array("1","2","3","4");
shuffle($n_rnd_no);
for($i=1;$i<=4;$i++)
{
?>
<div class="boxb<?=$n_rnd_no[$i]?>"><?=$memo[$n_rnd_no[$i]]?></div>
<?
}
물론 불러오는 내용이
$memo[1] = 첫번째
$memo[2] = 두번째
이런식으로 들어가 있어야 하겠죠...
제가 야매로 배운거라 정규식 같은거 잘 모릅니다. 정리는 고수분들이... 쿨럭....
알려주신 방법대로 하니 아주 잘 됩니다 ^^ 감사합니다~ ㅎㅎ
이렇게 이틀을 고민하던게 해결이 되니 너무 기쁘네요..
기쁜 마음을 안고 ㅡ,ㅡㅋ
하나만 더 질문해도 될까요? (머쓱~)
불러오는게 1,2,3,4같은 단문이 아니라 조금 긴 문장이게 되면 어떻게 해야하나요?
불러오는게 <div class="boxb2"><?=latest("basic","board1",4,30);?></div>
이렇게 긴 문장 네개를 불러와야해서요..
요거까지만 부탁좀 드리겠습니다.. 꾸벅~굽실~
이렇게 이틀을 고민하던게 해결이 되니 너무 기쁘네요..
기쁜 마음을 안고 ㅡ,ㅡㅋ
하나만 더 질문해도 될까요? (머쓱~)
불러오는게 1,2,3,4같은 단문이 아니라 조금 긴 문장이게 되면 어떻게 해야하나요?
불러오는게 <div class="boxb2"><?=latest("basic","board1",4,30);?></div>
이렇게 긴 문장 네개를 불러와야해서요..
요거까지만 부탁좀 드리겠습니다.. 꾸벅~굽실~
방법이 몇가지 있을것 같습니다만...
latest("basic","board1",4,30); 여기에서 어차피 게시판 아이디만 바꿔주면 될것 같은데요...
$n_rnd_no = array("1","2","3","4"); 여기서 1 2 3 4 대신 게시판 아이디를 넣어주시고,
for문 안에
<?=latest("basic","board1",4,30);?> 이거를 <?=latest("basic",$n_rnd_no[$i],4,30);?> 이렇게 바꿔줘도........ 될것같습니다. 될라나? 될겁니다.. ㅜ.ㅜ;
latest("basic","board1",4,30); 여기에서 어차피 게시판 아이디만 바꿔주면 될것 같은데요...
$n_rnd_no = array("1","2","3","4"); 여기서 1 2 3 4 대신 게시판 아이디를 넣어주시고,
for문 안에
<?=latest("basic","board1",4,30);?> 이거를 <?=latest("basic",$n_rnd_no[$i],4,30);?> 이렇게 바꿔줘도........ 될것같습니다. 될라나? 될겁니다.. ㅜ.ㅜ;
아~ 제가 말씀드린 것은
<div class="boxb1"><?=latest("basic","board1",4,30);?></div>
<div class="boxb2"><?=latest("basic","gb5",4,30);?></div>
<div class="boxb3"><?=latest("basic","555",4,30);?></div>
<div class="boxb4"><?=latest("basic","gb34",4,30);?></div>
이런 식으로 div 전체를 불러와야 해서요 ㅎㅎ
그래서
array ("1,","2","3","4") 안에서 1,2,3,4 대신 "문장","문장",문장",문장" 이렇게 해야 하나 고민햇던 겁니다..
문장이 좀 길어지고 또 그안에 <?= ?> 같은 것도 들어가다보니 어떻게 해야 하는지를 모르겠네요..
또 염치없게 됐습니다 ㅠㅠ
<div class="boxb1"><?=latest("basic","board1",4,30);?></div>
<div class="boxb2"><?=latest("basic","gb5",4,30);?></div>
<div class="boxb3"><?=latest("basic","555",4,30);?></div>
<div class="boxb4"><?=latest("basic","gb34",4,30);?></div>
이런 식으로 div 전체를 불러와야 해서요 ㅎㅎ
그래서
array ("1,","2","3","4") 안에서 1,2,3,4 대신 "문장","문장",문장",문장" 이렇게 해야 하나 고민햇던 겁니다..
문장이 좀 길어지고 또 그안에 <?= ?> 같은 것도 들어가다보니 어떻게 해야 하는지를 모르겠네요..
또 염치없게 됐습니다 ㅠㅠ
답변을 작성하려면 로그인이 필요합니다.
근데 전 아이조아님과 달리 함수를 몰라서...ㅋ
rand도..shuffle.. 쓰여있것만 봤지 실제 적용을 해보면 바랬던 결과와는 전혀 상관없는 방향으로 가더라구요..
염치없지만 어떻게 쓰시는지 구문으로 설명좀...굽실~