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

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

QA

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

본문

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

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

$path = "./ddp" ;

$path = "./food ";

또는

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

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


<?  
$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

36번줄 근처

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

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

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

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

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


<?
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> 

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

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT