··조회 13,035
아래꺼 다시질문이요......
정말 답변 계속 해셔서 감삽합니다.
제가 아직 php에 입문한지 일주일밖에 되지 않아서 이렇게 자꾸 궁금한게 생기네요... 나머지 값을 구할때... 변수를 뽑아와서 변수는 $photo이구...
이게 맞게 뽑아온건지 한번봐주세요,,,,,
하나의 문제가 생기네요.. 그림이 4개일때는 상관없지만 1개 2개 3개일때는
</tr>태그가 생성되지 않기때문에..... 그림이 정렬이 제대로 되지 않거든요..
예를 들어서 하나일때는 <tr><td colspan=4>그림파일</td></tr> 이러게 나오고 2개 3개일때도 똑같이 이런식으로 적용을 하고 싶은데요..... 현재의 소스는
그림이 한열에 4개가 되어야만 </tr>이 나오자나요....... 이거 문제를 해결할
방법이 없나요???
지금 현재의 소스는 이렇습니다.
<? include "../include/top.php";
include "../../config/db_connect.php";
include "../board/lib.php";
?>
<?
$sql="select count(*) from $id";
$result=mysql_query($sql) or die (mysql_error());
if($page=='') $page=1;
$list_num=8;
$page_num=10;
$offset = $list_num*($page-1);
$query="select count(*) from $id ";
$result=mysql_query($query) or die (mysql_error());
$row=mysql_fetch_row($result); //위 결과 값을 하나하나 배열로 저장합니다.
$total_no=$row[0]; //배열의 첫번째 요소의 값, 즉 테이블의 전체 글 수를 저장합니다.
//전체 페이지 수와 현재 글 번호를 구합니다.
$total_page=ceil($total_no/$list_num); // 전체글수를 페이지당글수로 나눈 값의 올림 값을 구합니다.
$cur_num=$total_no - $list_num*($page-1); //현재 글번호
//bbs테이블에서 목록을 가져옵니다. (위의 쿼리문 사용예와 비슷합니다.)
$query="select * from $id order by number desc limit $offset,$list_num"; // SQL 쿼리문. where 문은 order by 문 앞에
$result=mysql_query($query) or die (mysql_error()); // 쿼리문을 실행 결과
//쿼리 결과를 하나씩 불러와 실제 HTML에 나타내는 것은 HTML 문 중간에 삽입합니다.
//코멘트 숫자를 불러옴.
?>
<table width="600" cellpadding="0" cellspacing="0" border="0">
<? while($array=mysql_fetch_array($result)){
$date=date("Y/m/d",$array[writetime]);
$title1 = $array[title];
$subject = cut_str($title1,7);
//사진을 출력하는부분
$sql="select count(*) from $id";
$photo=mysql_query($sql) or die (mysql_error());
if($photo%4==1) echo"<tr>";
echo"
<td align=center>
<!------------------------그림목록 보여주기------------------------->
<table width=25% cellpadding=0 cellspacing=5 border=0>
<tr>
<td width=25% style='border:1 solid #999999' align=left>
<table width=100% cellpadding=5 cellspacing=0 border=0>
<tr>
<td align=center><a href='view.php?id=$id&page=$page&number=$array[number]'><img src=/admin/$array[file_name] border=0 width=120 height=100></a></td>
</tr>
<tr>
<td aling=center>
번호:$cur_num $array[writer]<br>
<a href='view.php?id=$id&page=$page&number=$array[number]' class=gallery>$subject</a></td>
</tr>
&n
제가 아직 php에 입문한지 일주일밖에 되지 않아서 이렇게 자꾸 궁금한게 생기네요... 나머지 값을 구할때... 변수를 뽑아와서 변수는 $photo이구...
이게 맞게 뽑아온건지 한번봐주세요,,,,,
하나의 문제가 생기네요.. 그림이 4개일때는 상관없지만 1개 2개 3개일때는
</tr>태그가 생성되지 않기때문에..... 그림이 정렬이 제대로 되지 않거든요..
예를 들어서 하나일때는 <tr><td colspan=4>그림파일</td></tr> 이러게 나오고 2개 3개일때도 똑같이 이런식으로 적용을 하고 싶은데요..... 현재의 소스는
그림이 한열에 4개가 되어야만 </tr>이 나오자나요....... 이거 문제를 해결할
방법이 없나요???
지금 현재의 소스는 이렇습니다.
<? include "../include/top.php";
include "../../config/db_connect.php";
include "../board/lib.php";
?>
<?
$sql="select count(*) from $id";
$result=mysql_query($sql) or die (mysql_error());
if($page=='') $page=1;
$list_num=8;
$page_num=10;
$offset = $list_num*($page-1);
$query="select count(*) from $id ";
$result=mysql_query($query) or die (mysql_error());
$row=mysql_fetch_row($result); //위 결과 값을 하나하나 배열로 저장합니다.
$total_no=$row[0]; //배열의 첫번째 요소의 값, 즉 테이블의 전체 글 수를 저장합니다.
//전체 페이지 수와 현재 글 번호를 구합니다.
$total_page=ceil($total_no/$list_num); // 전체글수를 페이지당글수로 나눈 값의 올림 값을 구합니다.
$cur_num=$total_no - $list_num*($page-1); //현재 글번호
//bbs테이블에서 목록을 가져옵니다. (위의 쿼리문 사용예와 비슷합니다.)
$query="select * from $id order by number desc limit $offset,$list_num"; // SQL 쿼리문. where 문은 order by 문 앞에
$result=mysql_query($query) or die (mysql_error()); // 쿼리문을 실행 결과
//쿼리 결과를 하나씩 불러와 실제 HTML에 나타내는 것은 HTML 문 중간에 삽입합니다.
//코멘트 숫자를 불러옴.
?>
<table width="600" cellpadding="0" cellspacing="0" border="0">
<? while($array=mysql_fetch_array($result)){
$date=date("Y/m/d",$array[writetime]);
$title1 = $array[title];
$subject = cut_str($title1,7);
//사진을 출력하는부분
$sql="select count(*) from $id";
$photo=mysql_query($sql) or die (mysql_error());
if($photo%4==1) echo"<tr>";
echo"
<td align=center>
<!------------------------그림목록 보여주기------------------------->
<table width=25% cellpadding=0 cellspacing=5 border=0>
<tr>
<td width=25% style='border:1 solid #999999' align=left>
<table width=100% cellpadding=5 cellspacing=0 border=0>
<tr>
<td align=center><a href='view.php?id=$id&page=$page&number=$array[number]'><img src=/admin/$array[file_name] border=0 width=120 height=100></a></td>
</tr>
<tr>
<td aling=center>
번호:$cur_num $array[writer]<br>
<a href='view.php?id=$id&page=$page&number=$array[number]' class=gallery>$subject</a></td>
</tr>
&n
댓글 4
박정호님의 질문 요지는, 사진을 보여주는데, 테이블을 이용하여 한 줄에 4칸씩 보여준다는 말씀이죠?
그런데 사진이 4개가 아니라 1개, 2개, 3개일 때 테이블이 올바로 보이도록 해야하는데 그게 잘 안된다는 거죠?
참고로, 남들이 만들어놓은 소스를 보고 수정하는 건 정말 머리 아픈 일입니다. 아마도 많은 시간을 투자해야 알아낼 수 있는 거라, 박정호님의 소스와는 무관하게 말씀드리겠습니다.
위에서 사진의 갯수를 4로 나누어 나머지 값이 1일 경우에만 tr 태그를 쓰고, 또 사진의 갯수에 따라 colspan 속성값을 다르게 쓰도록했는데, 이런 방법을 사용하면 복잡해집니다.
만약 저라면 다음과 같이 하겠습니다.
1번째 사진 (4로 나누었을 때 나머지가 1) : <tr><td>사진1</td>
2번째 사진 (4로 나누었을 때 나머지가 2) : <td>사진2</td>
3번째 사진 (4로 나누었을 때 나머지가 3) : <td>사진3</td>
4번째 사진 (4로 나누었을 때 나머지가 0) : <td>사진4</td></tr>
5번째 사진 (4로 나누었을 때 나머지가 1) : <tr><td>사진5</td>
더이상 없을때 전체 사진 갯수 5개에서 4로 나눈 나머지가 1.
부족한 칸의 수는 4-1 = 3.
따라서 <td> </td>를 세번 써주고 </tr>로 마무리.
그걸 어떻게 구현하느냐는 직접 해보시기 바랍니다.
이 정도의 문제는 직접 해결해야만 실력이 느니까요...
손병목님이 올려주신 소스에서 보면 </tr>이 2번 생성되지는 않을런지요...
$cur_num이 무엇을 의미하는지, 구체적으로 어떻게 사용하였는지는 모르겠습니다.
몇 번의 시행착오를 거치면서 직접 테스트해보는 게 가장 좋다는 뜻이었습니다.
4번째 사진이 마지막이면서 더 이상 사진이 없다면,
부족한 칸의 수는 4-4 = 0, 즉 부족한 칸이 없으므로 그냥 끝내면 됩니다.
만약 부족한 칸이 하나라도 있으면 <td> </td></tr> 해주면 되는거죠.
물론 다른 방법으로 하셔도 되구요.
제가 보기에는 그렇게 어려운 문제가 아닌 것 같습니다.
몇 번 실패하더라도 본인이 직접 한번 해결해보세요...