2015-01-26 9 views
0

javascript와 php를 사용하여 프런트 엔드 html 테이블을 만들고 있습니다. 데이터베이스에서 다른 사용자에게 다른 결과가 표시됩니다.PHP를 사용하여 다른 사용자를 위해 MySQL의 필드를 다르게 표시

+-----------------+---------+-------+ 
| Student   | Subject | Mark | 
+-----------------+---------+-------+ 
| John Smith  | Math | 9  | 
| Mike William | Math | 8  | 
+-----------------+---------+-------+ 

프런트 엔드 테이블에는 사용자 권한에 따라 결과가 표시되어야합니다. 등록 된 사용자가 로그인하면 테이블의 모든 필드가 실제로 모든 결과를 볼 수 있습니다. 등록되지 않은 사용자 로그인이 아니라 마크 대신 N/A가 표시됩니다.

a) 등록 된 사용자 : John Smith | 수학 | 9 | 마이크 윌리엄스 | OOP | 9

b) 방문자 (비 등록 사용자) : John Smith | 수학 | N/A | 마이크 윌리엄스 | OOP | 해당 사항 없음

올바른 방향으로 가고 있습니까?

<?php if (is_user_logged_in()) { ... } ?> 

or 

<?php if (isset($_SESSION['username'])) {... } ?> 

나서 에코 기능을 갖는 테이블을 표시하고 "다른"부분에서 "N/A"문자열을 표시.

아니면 더 부드러운 솔루션이 있습니까?

+1

개인적으로 역할 기반 액세스 시스템을 구축하고 사용자가 데이터베이스 계층에서 볼 수있는 (또는 볼 수없는) 것을 결정합니다. 응용 프로그램은 맹목적으로 데이터베이스 쿼리의 결과를 가져 와서 화면에 표시 할 수 있습니다. – CD001

답변

0

isset()을 사용하면 저에게 효과적입니다. 이것으로 두 상황을 if else 문장에 넣고 쉽게 실행할 수 있습니다. 예.

if (isset($_SESSION['username'])){ 

echo ' 
+-----------------+---------+-------+ 
| Student   | Subject | Mark | 
+-----------------+---------+-------+ 
| John Smith  | Math | 9  | 
+-----------------+---------+-------+ 
| Mike William | Math | 8  | 
+-----------------+---------+-------+ 
';//dont forget to create your table in code 
} 
else{ 
echo ' 
+-----------------+---------+-------+ 
| Student   | Subject | Mark | 
+-----------------+---------+-------+ 
| John Smith  | Math | N/A | 
+-----------------+---------+-------+ 
| Mike William | Math | N/A | 
+-----------------+---------+-------+ 
'; 
}