html 테이블에 db table 출력하기

divi 테마페이지에 html table 을 만들어 놨는데 phpadmin을 통해서 db table을 만들어서 그곳에 자료를 넣고 그것을 출력하려고 하는데

그러면 어디에 table을 만들고 어떤식으로 해야 출력할 수 있을까요..

그리고 혹시 그 테이블에 유료회원만 권한이 있도록 하려면 어떻게 해야할까요

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    워드프레스 사이트에서 DB에 데이터를 넣고 화면에 결과를 표시하시려면

    워드프레스 숏코드와 $wpdb를 사용해보시겠어요?

     

    워드프레스 페이지에 어떠한 내용을 출력하고 싶으시다면,

    숏코드에 대해서 알아보시면 도움이 됩니다.

    https://codex.wordpress.org/Shortcode_API

    아래와 같은 코드를 작성했다면 [my_db_print] 숏코드를 사용할 수 있습니다.

    add_shortcode('my_db_print', 'my_db_print_functoin');
    function my_db_print_functoin($atts=array()){
    	ob_start();
    	
    	// 이쪽에 원하는 내용을 출력하세요.
    	echo '이쪽에 원하는 내용을 출력하세요.';
    	
    	return ob_get_clean();
    }

     

    워드프레스에서 DB에서 데이터를 가져오거나 입력하려면 $wpdb를 사용하시면 됩니다.

    https://codex.wordpress.org/Class_Reference/wpdb

    add_shortcode('my_db_print', 'my_db_print_functoin');
    function my_db_print_functoin($atts=array()){
    	global $wpdb;
    	
    	ob_start();
    	
    	// $wpdb->get_results()를 사용하면 DB에서 여러줄 데이터를 가져올 수 있습니다.
    	$results = $wpdb->get_results("SELECT~");
    	print_r($results);
    	
    	return ob_get_clean();
    }

     

    워드프레스는 역할과 권한이 나눠져 있습니다.

    자세한 설명은 아래 링크를 참고해주세요.

    https://codex.wordpress.org/Roles_and_Capabilities

     

    워드프레스 역할을 더 늘리고 역할들의 권한도 편집할 수 있습니다.

    관련된 여러 플러그인이 있지만 대표적인 플러그인으로 User Role Editor 플러그인이 있습니다.

    https://ko.wordpress.org/plugins/user-role-editor/

     

    현재 로그인한 사용자의 권한을 체크하는 방법은

    아래의 링크를 참고해보시면 도움이 되실 듯합니다.

    https://wordpress.stackexchange.com/questions/5047/how-to-check-if-a-user-is-in-a-specific-role

    고맙습니다.

  • 혹시 WP DB를 통해서 TABLE 정보를 가져올때 제가 원하는 페이지에 있는 HTML TABLE에 나올수 있도록 하려고 하는데 그 방법 또한 궁금합니다.

    그리고 회원 권한을 정하면 페이지 말고도 검색창이나  TABLE에 있는 정보에 접근도 유료회원 무료회원 별로 나눌 수 있는지 궁금합니다.

  • 표시하려는 데이터의 형태에 따라서 코드가 다릅니다.

    HTML Table에 대한 설명과 예제 코드는 아래의 링크를 참고해보세요.

    https://www.w3schools.com/html/html_tables.asp

     

    PHP 코드의 반복문으로 테이블 행을 반복적으로 표시하는 건

    아래의 링크를 참고해보세요.

    https://stackoverflow.com/questions/4746079/how-to-create-a-html-table-from-a-php-array

     

    워드프레스에서는 역할(Role)에 따라 회원 등급을 구분하실 수 있습니다.

    현재 접속한 사용자의 역할을 체크하는 건 이전 댓글에 안내해드린 링크를 참고해보시겠어요?

    고맙습니다.

  • 그러면 

    add_shortcode('my_db_print', 'my_db_print_functoin');

    function my_db_print_functoin($atts=array()){
    global $wpdb; ob_start();
    // $wpdb->get_results()를 사용하면 DB에서 여러줄 데이터를 가져올 수 있습니다.
    $results = $wpdb->get_results("SELECT~"); print_r($results); return ob_get_clean(); }

    설명해주셨던 이코드는 theme 에 있는 function.php에 넣으면되는 건가요?

     

  • 안녕하세요.

    해당 코드는 테마 쪽 functions.php 파일에 추가해주시면 됩니다.

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에 추가해보시겠어요?

    코드를 그대로 적용하시면 정상적으로 동작하지 않습니다.

    쿼리문을 데이터베이스에서 불러오려는 값에 맞게 코드를 수정해주셔야 합니다.

    고맙습니다.

  • https://imgur.com/a/zyj7l0f

    앞서 단 댓글에 주신 코드로 했을경우에는 array([0]=> stdclass object ([id] =>1[stock_name]=>ho ~~~~~~
    이렇게 쭉쭉 데이터형태로는 나오는데 테이블에 넣으려면 어떻게 해야할까요 그리고 데이터 값만 출력하려면 어찌해야 할까요
  • 안녕하세요.

    $results 변수에 데이터를 가져온 후

    HTML 테이블에 표시하시려면

    아래의 코드를 활용해보시겠어요?

    <table>
    	<tr>
    		<th>ID</th>
    		<th>stock_name</th>
    		<th>purchase_date</th>
    		<th>purchase_price</th>
    		<th>target_price</th>
    		<th>sell_price</th>
    		<th>final_date</th>
    	</tr>
    	<?php foreach($results as $item):?>
    	<tr>
    		<th><?php echo $item->ID?></th>
    		<th><?php echo $item->stock_name?></th>
    		<th><?php echo $item->purchase_date?></th>
    		<th><?php echo $item->purchase_price?></th>
    		<th><?php echo $item->target_price?></th>
    		<th><?php echo $item->sell_price?></th>
    		<th><?php echo $item->final_date?></th>
    	</tr>
    	<?php endforeach?>
    </table>

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기