채택완료

버튼 클릭시 하나의 버튼에만 반응이일어나고....

2가지 버튼을 만들었는데 한가지에만 반응이일어나고 나머지는 그 한가지에서 출력된 이미지로만 보이네요...

밑에 $path = "./ddp" ; 여기에 폴더 지정을 ddp로만 해서 버튼한가지만 적용이되는거같아서

$path = "./ddp" ;

$path = "./food ";

또는

$path = "./ddp" ; "./food ";

이렇게 했는데 에러가 뜨네요....

Copy
<?  $path = "./ddp" ; $entrys = array();  $dirs = dir($path);  $cnt = 0; while(false !== ($entry = $dirs->read())){     if(($entry != '.') && ($entry != '..')) {       if( !is_dir($path.'/'.$entry) ) {         $entrys[] = $entry;       $cnt++;     }   } } $dirs->close(); ?>  <script> function tab_change() {      var tab_content;     for (var i=1; i<=<?=$cnt?>; i++)     {         tab_content = document.getElementById("tab_content"+i);                    tab_content.style.display = "block";         }     }  </script>  <div id="shop"> <? for( $i=1; $i <= 1; $i++ ) { ?>     <input type="button" name="tab_radio" value="DDP" style="width:115px"  onclick="tab_change(1)" />   <input type="button" name="tab_radio" value="food" style="width:115px"  onclick="tab_change(2)" />      <? } ?> </div> </div> <hr> <? $i = 1; foreach($entrys as $img){  ?>  <div id="tab_content<?=$i++?>" style="display:none"><img src="./ddp/<?=$img?>" /></div> <?   }  ?>  <? $i = 1; foreach($entrys as $img){  ?>  <div id="tab_content<?=$i++?>" style="display:none"><img src="./food/<?=$img?>" /></div> <?   }  ?>
 
|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

36번줄 근처

asort($entrys[$dirname[$i]]); << 추가

foreach( $entrys[$dirname[$i]] as $img ) {

여기 아래 더 간략하게 코딩한거 있었는데 삭제됐네요....

저 코드는 처음에 이미지 가져오는 루프하나로 끝날수 있어요.

근데 그렇게 하면 이해하는데 어려울까봐 따로 처리하긴했는데

답변에 대한 댓글 2개

아니에요 고양이망토님이 적어주신 코드 이해하기 쉽게 되어있어요 이걸로 제가 변경은 못하겠지만 해석은 어느정도 가능해요 감사합니다 정망 이렇게 신경써주셔서 감사합니다
전 중국과 무역업을 하고있습니다^^;; 뭐 이런쪽에 관심있으시면 말씀하세요
Copy
<?error_reporting(E_ALL);ini_set("display_errors", 1);$dirname = array("DDP", "food"); $entrys = array();foreach( $dirname as $val ) {  $path = "./". $val ;   $entrys[$val] = array();   if( is_dir($path) ) {      $dirs = dir($path);    while( false !== ($entry = $dirs->read()) ) {      if(($entry != '.') && ($entry != '..')) {        $entrys[$val][] = $entry;       }    }    $dirs->close();   }}?><div id="shop"><?for( $i=0, $cnt=count($dirname); $i < $cnt; $i ++ ) {?>  <input type="button" name="tab_radio" value="<?=$dirname[$i]?>" style="width:115px"  onclick="tab_change(<?=($i+1)?>)" /> <?}?></div><hr><? for( $i=0; $i < $cnt; $i++ ) {?>  <div id="tab_content<?=($i+1)?>" style="display:none"><?  foreach( $entrys[$dirname[$i]] as $img ) {?>  <img src="./<?=$dirname[$i]?>/<?=$img?>" /><?  }?></div><?}?> <script> function tab_change(no) {     var tab_content;     for (var i=1; i<=<?=$cnt?>; i++)     {        tab_content = document.getElementById("tab_content"+i);         if( no == i ) {          tab_content.style.display = "block";         } else {          tab_content.style.display = "none";         }    } }</script>

이분 정말 사람 고생시킴... 그냥 소스 뭐가 잘못된거지 묻기전에 내가 정확히 무엇을 어떻게 구현하고 싶은데 뭐가 문제인지 물어보세요... 그래야 안헤매죠..

답변에 대한 댓글 1개

^^:;; 고양이 망토님 죄송 그런데 이미지 1.jpg,2.jpg 이렇게 숫자가 낮은거에서 높은 걸로 순서되로 폴더안에 있는 걸 보여지게 할수는없나요? 정말 죄송합니다
공부 열심히하겠습니다

답변을 작성하려면 로그인이 필요합니다.