[英]How can I separate the SQL results using PHP?
我创建了一个查询,该查询返回以下结果。 返回结果后,是否可以通过object_id
拆分这些结果? 我曾尝试按SQL中的object_id
进行分组,但仅返回来自对象ID: 212
的结果。
我只需要将这些结果分组即可使用PHP进行显示。 任何帮助将不胜感激。 谢谢!
这是包含查询的PHP代码:
$querystr = "
SELECT $wpdb->term_relationships.object_id, $wpdb->postmeta.meta_key, $wpdb->postmeta.meta_value
FROM $wpdb->term_relationships
INNER JOIN $wpdb->postmeta ON $wpdb->term_relationships.object_id = $wpdb->postmeta.post_id
WHERE $wpdb->term_relationships.term_taxonomy_id
IN (107, 108)
AND $wpdb->postmeta.meta_key
LIKE 'c%'
AND $wpdb->postmeta.meta_value != ''";
$pageposts = $wpdb->get_results($querystr, OBJECT);
?>
<?php if ($pageposts): ?>
<?php global $post; ?>
<?php foreach ($pageposts as $post): ?>
<?php print_r($post->object_id); ?>
<?php endforeach; ?>
<?php else : ?>
error
<?php endif; ?>
感谢您的迅速反应。 感谢@JenneVanDerMeer,我设法通过将GROUP_CONCAT
应用于meta_value
并将GROUP BY
应用于object_id
来返回分组值。 工作查询如下:
SELECT wp_term_relationships.object_id,
GROUP_CONCAT(wp_postmeta.meta_value), wp_postmeta.meta_key
FROM wp_term_relationships
INNER JOIN wp_postmeta ON wp_term_relationships.object_id =
wp_postmeta.post_id
WHERE wp_term_relationships.term_taxonomy_id
IN (107)
AND wp_postmeta.meta_key
LIKE 'c%'
AND wp_postmeta.meta_value != ''
GROUP BY wp_term_relationships.object_id
一个简单的ORDER BY
在这里可以正常工作。
SELECT object_id, meta_value FROM <TABLE> ORDER BY object_id ASC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.