Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将MySQL结果转换为简单数组的最佳方法是什么?_Php_Mysql_Sql - Fatal编程技术网

Php 将MySQL结果转换为简单数组的最佳方法是什么?

Php 将MySQL结果转换为简单数组的最佳方法是什么?,php,mysql,sql,Php,Mysql,Sql,在许多程序员的帮助下,我已经为这个问题挣扎了好几天,但没有结果。我有一张这样的桌子: meta_id | post_id | meta_key | meta_value ---------|-----------|------------|------------------- 46922 | 5923 | adlink | htp://whatever.com 46923 | 5923 | subloc | Menu Page 469

在许多程序员的帮助下,我已经为这个问题挣扎了好几天,但没有结果。我有一张这样的桌子:

meta_id  |  post_id  |  meta_key  |  meta_value
---------|-----------|------------|-------------------
46922    |  5923     |  adlink    | htp://whatever.com
46923    |  5923     |  subloc    | Menu Page
46924    |  5923     |  size      | Premium
46924    |  5923     |  location  | Washington
46924    |  5923     |  image1    | 5924
46924    |  5923     |  image2    | 5925    
46925    |  5928     |  adlink    | htp://whatever.com
46926    |  5928     |  subloc    | Regular Page
46927    |  5928     |  size      | Standard
46927    |  5928     |  location  | Idaho
46927    |  5928     |  image1    | 5926
46927    |  5928     |  image2    | 5927
id   |  adlink            |  sublock    |  size   | location   | image1   | image2
-----|--------------------|-------------|---------|------------|----------|---------
5923 | htp://whatever.com | Menu Page   | Premium | Washington | 5924     | 5925 
5928 | htp://whatever.com | regular Page| Premium | Idaho      | 5926     | 5927 
我有下面的查询,它返回我要查找的特定结果,但格式与表一样;i、 例如,对于许多具有某个公共post_id的结果行,我需要创建一个数组或结果表,从中我可以访问信息,就像每个不同的post_id创建一个具有该id唯一数据的行一样,如下所示:

meta_id  |  post_id  |  meta_key  |  meta_value
---------|-----------|------------|-------------------
46922    |  5923     |  adlink    | htp://whatever.com
46923    |  5923     |  subloc    | Menu Page
46924    |  5923     |  size      | Premium
46924    |  5923     |  location  | Washington
46924    |  5923     |  image1    | 5924
46924    |  5923     |  image2    | 5925    
46925    |  5928     |  adlink    | htp://whatever.com
46926    |  5928     |  subloc    | Regular Page
46927    |  5928     |  size      | Standard
46927    |  5928     |  location  | Idaho
46927    |  5928     |  image1    | 5926
46927    |  5928     |  image2    | 5927
id   |  adlink            |  sublock    |  size   | location   | image1   | image2
-----|--------------------|-------------|---------|------------|----------|---------
5923 | htp://whatever.com | Menu Page   | Premium | Washington | 5924     | 5925 
5928 | htp://whatever.com | regular Page| Premium | Idaho      | 5926     | 5927 
以下是返回正确信息的查询:

SELECT * 
  FROM wp_postmeta 
 WHERE post_id IN (
                    SELECT post_id 
                      FROM wp_postmeta 
                     WHERE (
                                meta_value LIKE '%Washington%'
                            AND meta_key = 'location'
                            )

使用条件聚合来透视数据

选择post_id, 当meta_key='adlink'然后meta_value END adlink时的最大情况, 当meta_key='sublock'然后meta_value END sublock时的最大情况, 当meta_key='size'然后meta_value END size时的最大值, 当meta_key='location'然后meta_value END location时的最大值, 当meta_key='image1'然后meta_value END image1时的最大值, 当meta_键='image2'然后meta_值结束image2时的MAXCASE 从wp_Posteta 按邮政编码分组 输出:

| POST_ID | ADLINK | SUBLOCK | SIZE | LOCATION | IMAGE1 | IMAGE2 | |---------|--------------------|--------------|----------|------------|--------|--------| | 5923 | htp://whatever.com | Menu Page | Premium | Washington | 5924 | 5925 | | 5928 | htp://whatever.com | Regular Page | Standard | Idaho | 5926 | 5927 |
下面是演示

使用条件聚合来透视数据

选择post_id, 当meta_key='adlink'然后meta_value END adlink时的最大情况, 当meta_key='sublock'然后meta_value END sublock时的最大情况, 当meta_key='size'然后meta_value END size时的最大值, 当meta_key='location'然后meta_value END location时的最大值, 当meta_key='image1'然后meta_value END image1时的最大值, 当meta_键='image2'然后meta_值结束image2时的MAXCASE 从wp_Posteta 按邮政编码分组 输出:

| POST_ID | ADLINK | SUBLOCK | SIZE | LOCATION | IMAGE1 | IMAGE2 | |---------|--------------------|--------------|----------|------------|--------|--------| | 5923 | htp://whatever.com | Menu Page | Premium | Washington | 5924 | 5925 | | 5928 | htp://whatever.com | Regular Page | Standard | Idaho | 5926 | 5927 |
这里是演示

您可以用PHP代码构建结果表。与此类似:

$result[$row["post_id"]][$row["meta_key"]] = $row["meta_value"];

其中$row-是MySQL结果中的一行

您可以用PHP代码构建结果表。与此类似:

$result[$row["post_id"]][$row["meta_key"]] = $row["meta_value"];

其中$row-是MySQL结果中的一行

您需要一些SQL fu。PHP不需要说明您需要一些SQL fu。PHP Unnectssary我希望找到一个比构建一个具有唯一post_id的表,然后遍历另一个表以查找不同的id更简单的解决方案…我希望找到一个比构建一个具有唯一post_id的表,然后遍历另一个表以查找不同的id更简单的解决方案…谢谢!这是正确的!谢谢这是正确的!