きのう、SugarCRMは、SugarBeanから継承しなければ好きなSQLでグラフや表がかけると書いたけど、じゃあ、そのindex.php内で、SugarCRMで使っているテーブルにアクセスするには?というのを書かなかったので、今回はその話。
■DBアクセスのためのSQL発行
まあ、MySQLをPHPでconnectして、そこからSQLを発行してもいいんだけど。。。
SugarCRMのほうで、グローバル変数$dbの中に、データベースのオブジェクトが入っている。なので、$db->query("発行したいSQL");でOK。
たとえば、Account(取引先)テーブルの中にあるデータをアクセスし、idとnameを表示したいなら、こんなかんじ。
global $db; $result = $db->query("SELECT * FROM accounts;"); while(($row=$db->fetchByAssoc($result)) != null) { print($row['id'] . "<BR>"); print($row['name'] . "<BR>"); } |
(上記 < > ¥は、本当は半角)
これをindex.phpにかけば、表示される。
■現在ログインユーザーについて
だれだれさんの場合には見せるけど、だれだれさんの場合には見せないといった、現在使っているユーザーのログインユーザー名を知りたい場合があるかもしれない。
ログインユーザーは、グローバル変数 $current_userに入っていて、
$current_user->idにユーザーID、
$current_user->user_nameにログインユーザー名
というふうになっているみたいです。
もっといろんなデータが、$current_userにはいっているので、もししりたければ、
print_r($current_user);でみてくださいませ。