<?$host = "localhost"; // 자신의 mysql$user = "아이디"; // 기본 사용자. $password = "암호"; // apm 기본 암호$DB_name = "데이터베이스이름"; // 데이터베이스 이름 : test$conn = mysqli_connect($host, $user, $password, $DB_name);mysqli_query($conn, 'set names utf8');$rows = 25; // 한페이지에 보여질 갯수$sql = mysqli_query($conn, "SELECT count(*) as cnt from tablename "); $row = mysqli_fetch_array($sql); $total_count = $row[cnt];$total_page = ceil($total_count / $rows); if ($page == "") { $page = 1; }$from_record = ($page - 1) * $rows; $sql = mysqli_query($conn, "select * from tablename order by no desc limit $from_record, $rows "); $result = mysqli_fetch_array($sql);for ($i=0; $row=mysql_fetch_row($result); $i++) {echo $row[name];}?>
위와같이 하면 $row[cnt] 값은 잘 나오더라구요.. 그런데 ㅜㅜ
FOR 문 돌리면 아무런 자료가 나오지 않습니다...
어떻게 해야 될까요??
고수님들께 부탁드립니다. 수정해야할 부분만이라 ㅜㅜ ~ 고맙습니다.
답변 3개
기존 코드랑 비교해 보시고
어느 부분이 다른지 확인하시면 될듯 싶습니다.
<?php$host = "localhost"; // 자신의 mysql$user = "아이디"; // 기본 사용자. $password = "암호"; // apm 기본 암호$DB_name = "데이터베이스이름"; // 데이터베이스 이름 : test$conn = mysqli_connect($host, $user, $password, $DB_name);mysqli_query($conn, 'set names utf8');$rows = 25; // 한페이지에 보여질 갯수$sql = mysqli_query($conn, "SELECT count(*) as cnt from tablename "); $row = mysqli_fetch_array($sql); $total_count = $row['cnt'];$total_page = ceil($total_count / $rows); if (isset($page) === false) { $page = 1; }$from_record = ($page - 1) * $rows; $sql = mysqli_query($conn, "select * from tablename order by no desc limit $from_record, $rows "); //$result = mysqli_fetch_array($sql);//for ($i=0; $row=mysql_fetch_row($result); $i++) {for ($i=0; $row=mysqli_fetch_array($sql); $i++) {echo $row['name'];}?>
echo $row[name];
에서 출력되는 부분이 없다면,
칼럼명이 'name' 이 아니거나, 'name' 칼럼에 값이 없을 가능성이 있습니다.
다음의 코드로, 칼럼명이 맞는지 또는 해당 칼럼의 값이 정상적으로 저장되어 있는 것인지 확인해볼 수 있습니다. (array 내용을 출력해주는 print_r 사용)
for ($i=0; $row = mysql_fetch_row($result); $i++) { print_r($row);}
select * from tablename order by no desc limit $from_record, $rows
이 쿼리 부분을 직접 찍으셔서 phpMyAdmin에서 쿼리를 확인해 보셔야 할듯 보입니다. 제대로 가져오고 있는지 확인을 해보시는게 좋을듯 합니다.
답변을 작성하려면 로그인이 필요합니다.