버튼 클릭시 하나의 버튼에만 반응이일어나고....
본문
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>
이분 정말 사람 고생시킴... 그냥 소스 뭐가 잘못된거지 묻기전에 내가 정확히 무엇을 어떻게 구현하고 싶은데 뭐가 문제인지 물어보세요... 그래야 안헤매죠..
!-->
답변을 작성하시기 전에 로그인 해주세요.