ITmembers.net 아카이브 · 2002–2009

질문과 답변

[re] PHP 게시판 만들기 list.php 중에

>while ($array=mysql_fetch_array($result)) {
>        $date=date("Y/m/d", $array[writetime]); //글쓴시각을 Y/m/d 형식에 맞게 문자열로 바꿉니다.
>        echo "
>    <tr>
>        <td width=30>
>            <p align=center>$cur_num</p>
>        </td>
>        <td width=490>
>            <p>$array[subject]</p>
>        </td>
>        
>         .........................
>
>        $cur_num --;
>
>}
>?>

while ($array=mysql_fetch_array($result)) 만 이해하시면 될 듯....

이 소스엔 안나와 있는데 위쪽에 $result=mysql_query("select 어쩌구..") 로
$result 변수에 쿼리의 실행결과를 담았겠죠?
mysql_fetch_array($result) 는 $result 의 결과를 배열로 반환합니다.
그 반환된 배열을 $array 란 변수에 담고 $array 가 존재하는 동안 while 로
루프를 돌리라는 겁니다.

자! 그럼 받은 배열을 어떻게 사용할까요?
그게 바로 $array[subject] 입니다.  여기서 subject 는 해당 테이블의 필드명입니다.

member 라는 테이블에 필드가 name(이름), sex(성별), age(나이) 이렇게
세개가 있다고 치면,

<?
$host="localhost";
$user="user";
$pass="1234";
$database="table";

$connect=mysql_connect("$host","$user","$pass") or die("DB Connect failed!!!");
$db_conn=mysql_select_db("$database");

$query="SELECT * FROM member";
$result=mysql_query($query);
while ($array=mysql_fetch_array($result)){
  echo "이름 : $array[name], 성별 : $array[sex], 나이 : $array[age]<br>";
}

mysql_close($connect);
?>

이렇게 하면 결과가 나올껍니다.....

그리고 $cur_num 는 제가 보기엔 가상번호 같군요. 게시판의 경우 목록보기시
번호가 보통 글번호가 오는게 아니고 가상번호가 옵니다.
글번호가 와도 괜찮지만 그렇게 되면 목록보기에 번호가 정렬과 틀리게 나올 수 밖에
없습니다. 또한 답변글의 경우도 본글보다 글번호는 크지만 보통 본글 밑에 붙죠?
그때도 이상하겠죠?(머 안이상하시다면 안쓰셔도 되지만..)
그래서 보기좋게 순서대로 번호를 보여주기 위해서 가짜번호를 쓰는 겁니다.

설명이 시원찮으니 참고만 하세요...;;