テーブルのデータ取得(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]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です