【问题标题】:using loop inside php function and returning result using JSON在php函数中使用循环并使用JSON返回结果
【发布时间】:2013-12-22 12:23:15
【问题描述】:

看看下面的 php 函数,我有这种情况:有多个 IdUserfollow 每个 id 必须在 result2 上传递,所有检索到的值必须组合并返回到 Xcode

 function viewhome($IdUser){
    $result1 = query("SELECT * FROM follows  WHERE IdUser = '%s' ", $IdUser);
    $IUser = $result['result'][0]['IdUserfollow'];
    $result2 = query("SELECT * FROM photos WHERE IdUser = '%s' ORDER BY IdPhoto DESC LIMIT    50", $IUser);
    print json_encode($result2);
}

我该怎么做。

我提出了这个问题Using a Loop Inside a Function,这与我的类似,但我仍然感到困惑。考虑到我的返回将使用 JSON,而且我不知道如何从第一个查询结果中设置循环限制。是否有可能我必须执行两个功能,第一个将返回重复次数,第二个将只有循环并返回结果?如果是,那么我如何组合两个结果 - 或者无论重复的值是什么 - 并使用 json 将其发送回

任何帮助将不胜感激。

【问题讨论】:

    标签: php mysql json


    【解决方案1】:

    您可以像这样收集从第二个查询到结果数组的所有检索数据:

     function viewhome($IdUser){
        $result1 = query("SELECT * FROM follows  WHERE IdUser = '%s' ", $IdUser);
        $IUser = $result['result'][0]['IdUserfollow'];
        $result = array();
        foreach ( $result['result'] as $data ) {
           $result[] = query("SELECT * FROM photos WHERE IdUser = '%s' ORDER BY IdPhoto DESC LIMIT    50", $data['idUserfollow']);
        }
        print json_encode($result); // all the results for each IdUserfollow from first query
    }
    

    但还是一样,我建议您不要向 DB 发送多个查询,而只构建一个查询,这样可以解决您的问题。

    【讨论】:

      猜你喜欢
      • 2011-08-18
      • 2022-10-04
      • 1970-01-01
      • 2014-04-03
      • 2018-09-01
      • 2020-08-28
      • 2011-11-19
      • 1970-01-01
      • 2015-04-22
      相关资源
      最近更新 更多