2012-09-13 3 views
0

데이터베이스에서 주석 (본문, 이름 및 타임 스탬프)을 선택하고 화면에 인쇄하려고합니다. 내 지금까지 코드 :PHP에서 mysql 데이터베이스의 여러 값 인쇄하기

$mycomment = db_query('SELECT comment,name,timestamp FROM comments WHERE nid = 246'); 

while($allcomments = db_result($mycomment)){ 

print($allcomments); 
} 

내 코드는 주석 (하나의 값)을 출력하고 나는 "TIMESTAMP에 NAME에 의해 게시 COMMENT"와 같은 somethign 인쇄하고 싶습니다. 누구든지 올바른 구문으로 나를 도울 수 있습니까?

+0

이것은 드루팔 (Drupal) 사이트입니까? – AndrewR

+0

예, 드루팔 (Drupal) 6 사이트입니다. – Vonder

답변

0

작동합니다보십시오.

$mycomment = db_query('SELECT comment,name,timestamp FROM comments WHERE nid = 246'); 

while($allcomments = db_fetch_array($mycomment)){ 
    print($allcomments['comment'] . ' posted by ' . $allcomments['name'] . ' on ' . $allcomments['timestamp']); 
} 
+0

와 pls는 내 코드와 코드의 차이점을 대답합니까? – tnanoba

+1

@DaHaKa이 코드는 드루팔 (Drupal에서 작동합니다. – Vonder

+0

@Vafello 지금은 분명하다. 오해하는 질문으로 유감스럽게 생각한다. – tnanoba

0

시작 vardump($allcomments)를 사용하는 대신 print()

에 의해 그 것이다 적어도 쇼 당신 배열, 객체의 내용 또는 무엇이든 당신이 그냥 인쇄 적절하게 그 변수에 접근 할 필요가보다 db_result

에 의해 반환되는 당신이 원하는.

0

$ mycomment = mysql_query ('주석, 이름, 타임 스탬프 FROM 설명을 선택하십시오. where nid = 246');

동안 (= $ allcomments로 MYSQL_ASSOC의 ($ mycomment, MYSQL_ASSOC)) {

가 allcomments [ '메모'] $ 에코. ' 게시자 '. $ allcomments [ 'name']. '에'. 날짜 ("g : i F j, Y", strtotime ($ allcomments [ 'timestamp']));

}

, 당신은() 중 하나 db_fetch_array() 또는 db_fetch_object() 대신 db_result의 사용되어야한다 드루팔 documentation에 따르면이 ...

+1

좋은 답변입니다. 나는 그가 원하는 경우 타임 스탬프를 다시 포맷하는 예제를 어떻게 제공했는지 특히 좋아합니다. 그는 Drupal 사이트 (원래의 질문에 공개되지 않았 음)로 작업하고 있으므로, db_query() 및 db_fetch_array() 래퍼 함수를 ​​사용하는 것이 좋습니다. 코드가 배포되었거나 다른 데이터베이스 시스템을 선택하기로 결정한 경우. – AndrewR

관련 문제