テーブルのデータ取得(2)~ショートコード条件編~
やってる事:mydb_myaddressテーブルの中の、uid = 001のデータを取得して、表示する
1)ショートコードを使って条件を記事の中に指定する
ショートコード「mydb」の第1引数としてmydb_ の後に続くテーブル名、第2引数としてuidの値、が指定される前提で、SQLを作成、結果を取得。
最後にこのget_mydb関数を「mydb」ショートコードとして登録。
function get_mydb($attr){
global $wpdb;
global $dbrst;
$prepare_sql = $wpdb->prepare("select * from mydb_".$attr[0]." where uid = %d",$attr[1]);
$dbrst=$wpdb->get_results($prepare_sql);
}
add_shortcode('mydb','get_mydb');2)single.phpの中のデータを取得したい場所で、呼び出す
dbrst変数はglobalとして宣言する。結果の配列の0番目を表示する前提。
※the_content() の後に呼び出す必要アリ
global $dbrst;
echo 'uid='.$dbrst[0]->uid.'</br>';
echo 'cat='.$dbrst[0]->cat.'</br>';
echo 'name_jp='.$dbrst[0]->name_jp.'</br>';
3)投稿内でショートコードを使って条件を指定する
[ショートコード名 (mydb_を除いた)テーブル名 検索するデータの値]
[mydb myaddress 001]