首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用自定义格式编码php记录集

用自定义格式编码php记录集
EN

Stack Overflow用户
提问于 2016-06-09 08:16:13
回答 3查看 70关注 0票数 0

我现在有一个用dreamweaver创建的记录集,并以json格式对结果进行了编码,这种格式工作得很好。

记录集

代码语言:javascript
复制
$maxRows_rs_feeds = 3;
$pageNum_rs_feeds = 0;
if (isset($_GET['pageNum_rs_feeds'])) {
  $pageNum_rs_feeds = $_GET['pageNum_rs_feeds'];
}
$startRow_rs_feeds = $pageNum_rs_feeds * $maxRows_rs_feeds;

mysql_select_db($database_vivalooks, $vivalooks);
$query_rs_feeds = "SELECT fname,lname FROM profile";
$query_limit_rs_feeds = sprintf("%s LIMIT %d, %d", $query_rs_feeds, $startRow_rs_feeds, $maxRows_rs_feeds);
$rs_feeds = mysql_query($query_limit_rs_feeds, $vivalooks) or die(mysql_error());
$row_rs_feeds= mysql_fetch_assoc($rs_feeds);

if (isset($_GET['totalRows_rs_feeds'])) {
  $totalRows_rs_feeds = $_GET['totalRows_rs_feeds'];
} else {
  $all_rs_feeds = mysql_query($query_rs_feeds);
  $totalRows_rs_feeds = mysql_num_rows($all_rs_feeds);

}
$totalPages_rs_feeds = ceil($totalRows_rs_feeds/$maxRows_rs_feeds)-1;

 do { 

 echo json_encode($row_rs_feeds);
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds));

mysql_free_result($rs_feeds);

记录集结果

代码语言:javascript
复制
{"fname":"Benjamin","lname":"Blay"}{"fname":"Alfread","lname":"Mark"}{"fname":"yaa","lname":"tiwaa"}

但我希望结果像这样被编码

代码语言:javascript
复制
[{"fname":"Benjamin","lname":"Blay"},{"fname":"Alfred","lname":"Mark"},{"fname":"yaa","lname":"tiwaa"}]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-09 08:54:07

试一试

代码语言:javascript
复制
do { 
    $json[]=json_encode($row_rs_feeds);
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds));
echo "[".implode(", ", $json)."]";

代码语言:javascript
复制
do { 
     $rows[] = $row_rs_feeds;
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds));

echo json_encode($rows);
票数 0
EN

Stack Overflow用户

发布于 2016-06-09 08:20:28

尝试:

代码语言:javascript
复制
do { 
     $rows[] = $row_rs_feeds;
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds));

echo json_encode($rows);
票数 0
EN

Stack Overflow用户

发布于 2016-06-09 09:02:08

您可以将循环更改为如下所示:

代码语言:javascript
复制
echo "[";
$count = 0;
do { 
    if($count !== 0) 
        echo ",";
    $count++;
    echo json_encode($row_rs_feeds);
} while ($row_rs_feeds = mysql_fetch_assoc($rs_feeds));
echo "]";

$count就是跳过",“这样你就不会得到,{.},{.}或者你可以把它说成是假的/真的.我现在不记得有什么更好的如果你有10k级的循环.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37720398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档