複数職を持っている人を職業別に分類
-----------------------------CSS部-------------------------------------
span {
display: inline-block;
width: 9em;
}
------テンプレート部 (この後このテンプレートはは訂正した。訂正分はこの直後)-----------
<?php
print '<hr>';
$result = db_query('SELECT taxonomy_term_data.name as tagname, users.name as uname FROM ({field_data_field_yoo} LEFT JOIN {taxonomy_term_data} ON field_data_field_yoo.field_yoo_tid = taxonomy_term_data.tid) LEFT JOIN {users} ON field_data_field_yoo.entity_id = users.uid');
$ygrp = "hogehoge"; //最初に適当にあり得ない職業の名前をつけておく。(かっこ悪いけど、こんなやり方しか今のところ思いつかない。)
foreach(
$result as $item) {
if ($ygrp !== $item->tagname){ //もし$item->tagnameが最初に出てきた職業名ならばトップに表示をする。
print '<hr>';
print "<p><span>".$item->tagname." "."</span>".$item->uname." "; //<span>はユーザーの先頭の文字をそろえるため。cssで、10文字文下がったところから表示させる設定にしてある(display: inline-block; width: 10em;)。 はスペース。
}
else
{ print $item->uname." "; //もし、$item->tagnameが2度めならば、職業名は表示させない。
}
$ygrp = $item->tagname; //$ygrpの値をここで更新。
}
?>
------------------テンプレート 訂正 (ユーザー名にリンクを張った)-------------------
<?php
print '<hr>';
$result = db_query('SELECT taxonomy_term_data.name as tagname, users.name as uname, uid FROM ({field_data_field_yoo} LEFT JOIN {taxonomy_term_data} ON field_data_field_yoo.field_yoo_tid = taxonomy_term_data.tid) LEFT JOIN {users} ON field_data_field_yoo.entity_id = users.uid');
$ygrp = "hogehoge"; //最初に適当にあり得ない職業の名前をつけておく。(かっこ悪いけど、こんなやり方しか今のところ思いつかない。)
foreach(
$result as $item) {
if ($ygrp !== $item->tagname){ //もし$item->tagnameが最初に出てきた職業名ならばトップに表示をする。
print '<hr>';
print "<p><span class=yspan>".$item->tagname." "."</span><a href=\"http://localhost/dtest/user/".$item->uid."\">".$item->uname."</a> "; //<span>はユーザーの先頭の文字をそろえるため。cssで、10文字文下がったところから表示させる設定にしてある(display: inline-block; width: 10em;)。 はスペース。
}
else
{ print "<a href=\"http://localhost/dtest/user/".$item->uid."\">".$item->uname."</a> "; //もし、$item->tagnameが2度めならば、職業名は表示させない。
}
$ygrp = $item->tagname; //$ygrpの値をここで更新。
}
?>
0 件のコメント:
コメントを投稿