묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
최근게시물 관련링크 4일째.. 너무 어렵다.. 아무리 해도 안된다..
2003.05.02 20:52
안녕하세요.. 질문이 있어 서 글남깁니다.
먼저 최근게시물 소스구요..[jsk.php]
<?
$host_name = "localhost"; // DB서버의 위치입니다.
$user_name = "axxxxxx"; // 자신의 계정의 ID를 넣으시면 되요.
$user_password = "xxxx"; // 자신의 DB의 Password 입니다.
$db_name ="edonkey"; // 자신이 사용할 DB의 이름입니다
$connect = mysql_connect($host_name,$user_name,$user_password);
mysql_select_db($db_name, $connect);
$result=mysql_query("SELECT * FROM akjsk order by signdate desc limit 5 ",$connect);
while($data=mysql_fetch_array($result)){
$data[uname]=stripslashes($data[uname]);
$data[subject]=stripslashes($data[subject]);
echo "<a href='../board/akjsk.php?mode=read&number=${data[uname]}'>${data[subject]}</a>" ;
}
?>
이렇게 하면요 최근게시물 나오거던요.. 그런데 최근게시물 클릭해서 게시판들어가면요.. 아래와 같은 에러 메시지 나오거던요..
Warning: Supplied argument is not a valid MySQL result resource in c:program filesnusphereapachehtdocsboardakjsk.php on line 751
Warning: Supplied argument is not a valid MySQL result resource in c:program filesnusphereapachehtdocsboardakjsk.php on line 756
Warning: Supplied argument is not a valid MySQL result resource in c:program filesnusphereapachehtdocsboardakjsk.php on line 760
[akjsk.php]게시판 파일
<?
function PDS_Read() {
global $dbCon;
global $PHP_SELF,$db_name,$part;
global $number;
global $page;
global $key, $keyfield;
global $table_width;
global $allow_html;
global $file_download;
global $savedir;
//----- 선택한 게시물의 입력값을 뽑아낸다. ##########
$str = $dbCon->dbSelect1($db_name,"WHERE part='$part' AND uid = $number LIMIT 1","uname,subject,email,homepage,signdate,visit,comment,userfile,filesize,usetag");
//----게시물의 처음과 끝의 게시물 번호를 구함
$FindNum = $dbCon->dbSelect1($db_name, "WHERE part='$part'","MAX(uid), MIN(uid)");
$FindRow = mysql_fetch_row($FindNum);
$LastNum = $FindRow[0];
$FirstNum = $FindRow[1];
//----현재보는 게시물의 이전 게시물 번호
$FindNum = $dbCon->dbSelect1($db_name,"WHERE part='$part' AND uid < $number","MAX(uid)");
(751번)$FindRow = mysql_fetch_row($FindNum);
$PreNum = $FindRow[0];
//----현재보는 게시물의 다음 게시물 번호
$FindNum = $dbCon->dbSelect1($db_name,"WHERE part='$part' ANDuid>$number","MAX(uid)");
(756번)$FindRow = mysql_fetch_row($FindNum);
$NextNum = $FindRow[0];
(760번)$row = mysql_fetch_row($str);
$my_uname = $row[0];
$my_subject = $row[1];
$my_email = $row[2];
$my_homepage = $row[3];
$my_signdate = date("Y년m월d일 H/i",$row[4]);
$my_visit = $row[5];
$my_comment = $row[6];
$my_userfile = $row[7];
$my_filesize = $row[8];
$my_usetag = $row[9];
이거입니다. 머가 잘못된걸까요..
수고 하십시요..
고수니 들 좀 가르쳐주세요.. 아무 리 질문 해도 다 모르네요.. 소스 다 공개 할께요..
먼저 최근게시물 소스구요..[jsk.php]
<?
$host_name = "localhost"; // DB서버의 위치입니다.
$user_name = "axxxxxx"; // 자신의 계정의 ID를 넣으시면 되요.
$user_password = "xxxx"; // 자신의 DB의 Password 입니다.
$db_name ="edonkey"; // 자신이 사용할 DB의 이름입니다
$connect = mysql_connect($host_name,$user_name,$user_password);
mysql_select_db($db_name, $connect);
$result=mysql_query("SELECT * FROM akjsk order by signdate desc limit 5 ",$connect);
while($data=mysql_fetch_array($result)){
$data[uname]=stripslashes($data[uname]);
$data[subject]=stripslashes($data[subject]);
echo "<a href='../board/akjsk.php?mode=read&number=${data[uname]}'>${data[subject]}</a>" ;
}
?>
이렇게 하면요 최근게시물 나오거던요.. 그런데 최근게시물 클릭해서 게시판들어가면요.. 아래와 같은 에러 메시지 나오거던요..
Warning: Supplied argument is not a valid MySQL result resource in c:program filesnusphereapachehtdocsboardakjsk.php on line 751
Warning: Supplied argument is not a valid MySQL result resource in c:program filesnusphereapachehtdocsboardakjsk.php on line 756
Warning: Supplied argument is not a valid MySQL result resource in c:program filesnusphereapachehtdocsboardakjsk.php on line 760
[akjsk.php]게시판 파일
<?
function PDS_Read() {
global $dbCon;
global $PHP_SELF,$db_name,$part;
global $number;
global $page;
global $key, $keyfield;
global $table_width;
global $allow_html;
global $file_download;
global $savedir;
//----- 선택한 게시물의 입력값을 뽑아낸다. ##########
$str = $dbCon->dbSelect1($db_name,"WHERE part='$part' AND uid = $number LIMIT 1","uname,subject,email,homepage,signdate,visit,comment,userfile,filesize,usetag");
//----게시물의 처음과 끝의 게시물 번호를 구함
$FindNum = $dbCon->dbSelect1($db_name, "WHERE part='$part'","MAX(uid), MIN(uid)");
$FindRow = mysql_fetch_row($FindNum);
$LastNum = $FindRow[0];
$FirstNum = $FindRow[1];
//----현재보는 게시물의 이전 게시물 번호
$FindNum = $dbCon->dbSelect1($db_name,"WHERE part='$part' AND uid < $number","MAX(uid)");
(751번)$FindRow = mysql_fetch_row($FindNum);
$PreNum = $FindRow[0];
//----현재보는 게시물의 다음 게시물 번호
$FindNum = $dbCon->dbSelect1($db_name,"WHERE part='$part' ANDuid>$number","MAX(uid)");
(756번)$FindRow = mysql_fetch_row($FindNum);
$NextNum = $FindRow[0];
(760번)$row = mysql_fetch_row($str);
$my_uname = $row[0];
$my_subject = $row[1];
$my_email = $row[2];
$my_homepage = $row[3];
$my_signdate = date("Y년m월d일 H/i",$row[4]);
$my_visit = $row[5];
$my_comment = $row[6];
$my_userfile = $row[7];
$my_filesize = $row[8];
$my_usetag = $row[9];
이거입니다. 머가 잘못된걸까요..
수고 하십시요..
고수니 들 좀 가르쳐주세요.. 아무 리 질문 해도 다 모르네요.. 소스 다 공개 할께요..
댓글 6
-
특급잠수부
2003.05.02 23:02
-
특급잠수부
2003.05.02 23:03
mysql result 에러가 날때는
쿼리문을 직접 프롬프트창에 찍어보시고
변수가 안넘어올땐
변수를 직접 찍어보시는것이
에러를 찾아가는 비결입니다. -
정수경
2003.05.02 23:29
그문제 가 아닌것 같은데요 그렇게 하니깐 에러 안뜨는데요.. -
특급잠수부
2003.05.03 00:44
근데 저게 소스 다인가요?
소스 일부분만 잘라서 오신듯한데요 -
소프트맨
2003.05.03 10:28
소스를 잘 못 만드셨네요..
echo "<a href='../board/akjsk.php?mode=read&number=${data[uname]}'>${data[subject]}</a>" ;
한눈에 봐도.. number=${data[uname]} 이 부분은 잘못된거 아닌가요?
number 는 게시물의 절대 번호일텐데 여기에 이름을 넘겨 주면 당연히 에러가 나죠...
akjsk.php 파일부분중에서 목록을 표시하는 부분을 보세요.. 그곳에 링크 설정하는 곳이
있을 겁니다.
짐작상으로는 게시물의 절대 번호가 uid 필드 인듯 한데요...
echo "<a href='../board/akjsk.php?mode=read&number=${data[uid]}'>${data[subject]}</a>" ;
라고 해 보시길...
정확하게는 akjsk.php 소스를 직접 확인해 보셔야 할 겁니다. -
특급잠수부
2003.05.03 00:51
그리고 처음부터 클래스를 쓰시려 하지마시고 쉬운단계부터 하시길 바랍니다.
테이블명이 TBL 이고 날짜컬럼이 reg_date 일때 최근게시물을 뽑는것은
<table>
<?
$sel_q = "select * from TBL order by reg_date desc limit 5";
$sel_s = mysql_query($sel_q,$conn) or die (mysql_error());
$sel_num = mysql_num_rows($sel_s);
if ($sel_num == 0) echo ("<tr><td align=center>등록된 정보 없음</td></tr>");
else
{
while ($sr = mysql_fetch_array($sel_s))
{
?>
<tr>
<td>[<?=substr($sr[reg_date],0,10)?>]<?=$sr[subject]?>
</td>
</tr>
<?
}
}
?>
저런식으로 하면 손쉽게 시작하실수 있습니다.
프롬프트 창으로 mysql 접속후에
SELECT * FROM akjsk order by signdate desc limit 5
직접 이것을 찍어보세요.