PHP:連想配列を作成し、combobox に設定する(WP)
会員データのうち、会員番号と会員名を取り出し、連想配列に格納する。
そのkey とval を、combobox に設定する。
データベースには、選択されたkey(会員番号)を保管するようにする。
[php]
echo ‘
<select name="_a-member">’;</select>
<select name="_a-member"> $arrayname = get_members_list();</select>
<select name="_a-member"> $jj = get_post_meta($post_id, ‘_a-member’, true);</select>
<select name="_a-member"> foreach($arrayname as $key => $val) {</select>
<select name="_a-member"> $selected = "";</select>
<select name="_a-member"> if ($jj == $key) {</select>
<select name="_a-member"> $selected = " selected";</select>
<select name="_a-member"> }</select>
<select name="_a-member"> echo "</select>
<select name="_a-member"><option value="\"".$key."\"$selected">".$val."\n";</option></select>
<select name="_a-member"><option value="\"".$key."\"$selected"> }</option></select>
<select name="_a-member"><option value="\"".$key."\"$selected"> echo "</option></select>
\n";
function get_members_list() {
global $wpdb;
$querystr = <<<HERE
SELECT * FROM $wpdb->posts aa,
(select * from $wpdb->postmeta where meta_key=’_m-level’) bb
WHERE aa.post_type = ‘member’
AND aa.post_status = ‘publish’
AND aa.ID = bb.post_id
HERE;
$posts = $wpdb->get_results($querystr);
if ($posts):
global $post;
foreach($posts as $post):
setup_postdata($post);
$post_id = $post->ID;
$mname = $post->post_title;
$mno = get_post_meta($post_id, ‘_m-no’,true);
$arrayname[$mno] = $mname; // 連想配列に格納
endforeach;
return $arrayname;
endif;
}
[/php]