我认为这是一个交叉标签工作,但我没有看到它!在Wordpress usermeta表中,数据如下:
| userid | meta_key | meta_value
| 123 | grant | Education
和
| userid | meta_key | meta_value
| 123 | orgname | ABC School
我需要在表格中搜索所有授权类型,例如“教育”,然后对结果进行排序,以便组织名称按字母顺序排列。
最终结果应该是这些行的数据集:
| userid | grant | orgname
| 123 | Eductaion | ABC School
我该怎么做?
提前致谢!
请注意:这些页面不在wp本身内,但使用的是wp db。感谢。
答案 0 :(得分:1)
检查这是否是你想要的。
<?php
$query = "SELECT userid ,meta_key, meta_value
FROM table
GROUP BY userid ";
$row = mysql_query($sql) or die(mysql_error());
$data = $array();
$i=0;
while( $res = mysql_fetch_array($row) )
{
$data[$i] = $res;
$i++;
}
echo "<table>";
for($i=0;$i<=count($data);$i+=2)
{
echo "<tr>";
echo "<td>userid </td>";
echo "<td>".$data[$i]['meta_key']."</td>";
echo "<td>".$data[$i+1]['meta_key']."</td>";
echo "</tr>"
$sql= "SELECT userid ,meta_key, meta_value
FROM table
WHERE userid = '".$data[$i]['userid']."' ";
$row_sub = mysql_query($sql) or die(mysql_error());
$j=0;
while( $resSub = mysql_fetch_array($row_sub ) )
{
$subData[$j] = $resSub ;
$j++;
}
for( $j=0;$j<=count($subData[$j]);$j+=2 )
{
echo "<tr>";
echo "<td>".$subData[$j]['userid ']."</td>";
echo "<td>".$subData[$j]['meta_value']."</td>";
echo "<td>".$subData[$j+1]['meta_value']."</td>";
echo "</tr>"
}
}
echo "</table>";
?>
答案 1 :(得分:0)
<?php
$all_meta_for_user = get_user_meta( 123 );
echo "<pre>";
print_r( $all_meta_for_user ); // get all meta data of a particular user
exit;
?>
在这里查看更多Get User Meta