Haroop Webagency team BICTOR

원격 및 파견 개발팀분들을 위한 하룹소속 개발자전용 빅터 오픈소스 커뮤니티입니다

이곳은 하룹 개발팀 소속 직원들에 전체 개발기술력 및 전체 평균 능력치 강화를 위한, 빅터팀 리드개발자들에 오픈소스 개발 커뮤니티 공간입니다, 만약 고객이시라면 여기를 이용해주세요.

제목
공용클래스를 만들어 sql쿼리에서 배열값을 출력시키려고 합니다.
작성자
페이
작성일
2022-05-22 11:16
조회
203
답변완료
안녕하세요 db에서 배열값을 클래스로 만들어 가져오려 하는데요

function get_doctor_db() {
global $wpdb;
$users = $wpdb->get_results( "SELECT SUM(haroop_bictor_systemz) FROM bictor_doctor_form");
foreach( $users as $user ) {
echo $user;
}
}
add_shortcode('doctor_db', 'get_doctor_db');

이렇게 짰는데, var_dump에서는 아래처럼 출력됩니다.
array(1) { [0]=> object(stdClass)#1351 (1) {
["SUM(haroop_bictor_systemz)"]=> string(6) "125510" }
}

여기서 125510만 출력을 시키고 싶은데 array 전체가 출력이 됩니다.
SQL쪽 전공서적을 찾아봐도 왜 array가 같이 출력되는지 모르겠네요ㅠ
도와주시면 감사하겠습니다ㅠㅠ
전체 2

  • 2022-05-22 14:46

    안녕하세요, 이 경우 방법은 여러가지가 있겠지만
    이 경우 SQL문에서 처리 방식만 바꾸면, 복잡하지 않게 해결할 수 있습니다.

    function get_doctor_db() {
    global $wpdb;
    $users = $wpdb->get_results( "SELECT SUM(haroop_bictor_systemz) as sumed FROM bictor_doctor_form");
    foreach( $users as $user ) {
    echo $user->sumed;
    }
    }
    add_shortcode('doctor_db', 'get_doctor_db');

    이렇게 처리하시면 해결이 되실거에요.
    조언을 드린다면, 8.0 SQL 함수연산자에 대해서 좀 더 공부하시면 좋으실거같아요 ^^
    사실상 매우 간단히 처리할수가 있는데, 더 나은 방법들을 모르면 결국 몇일 이상이 걸려버리게 되거든요

    전공서적을 보시더라도 최신 업데이트되는 코드들은 전혀 다를수있으니
    MySQL8.0에서 함수연산자 기타기능들에 대해서 확인해보시면 좋을거같습니다.
    https://dev.mysql.com/doc/refman/8.0/en/miscellaneous-functions.html

    감사합니다


    • 2022-05-23 01:32

      와... 감사합니다ㅠㅠ 잘되네요ㅠ
      SQL을 거의 셀렉트나 업데이트, 델리트같이 단편적으로만 사용해서 조금만 복잡해져도
      아직은 약간 헷갈리는거같습니다, 말씀하신대로 조금씩 계속 공부해보도록 하겠습니다.
      하룹 개발팀분들 항상 진심으로 존경합니다ㅠ