gpt4 book ai didi

PHP:结果集中最后一条记录的条件输出

转载 作者:行者123 更新时间:2023-12-01 00:06:32 25 4
gpt4 key购买 nike

我有一些 PHP 脚本查询 mysql 数据库并回显一段 javascript。一切都运行良好,除了在回显查询的最后一行之后,我不想在右括号后回显逗号。脚本的结果应如下所示,最后一行不以逗号结尾。

        {title: 'title1', url: 'mp3:mp3-1', start: 660, duration: 398},
{title: 'title2', url: 'mp3:mp3-2', start: 464, duration: 32},
{title: 'title3', url: 'mp3:mp3-3', start: 2956, duration: 139},
{title: 'title4', url: 'mp3:mp3-4', start: 653, duration: 62},
{title: 'title5', url: 'mp3:mp3-5', start: 1816, duration: 74}

就像我现在的代码一样,最后一行和它前面的行一样有一个逗号,它破坏了我生成的 javascript 代码(当然只在 IE 中!!)。我假设答案与计算剩余行数有关,如果它大于 1 则回显一件事,如果它等于 1 则回显其他事情,我只是不确定如何将其转换为 PHP 代码。感谢您的帮助。

循环的代码是这样的:

<?php
foreach($_SESSION['section_remember'] as $key =>$value)
{

$sql = "SELECT `section`.`start`,`section`.`stop`,`section`.`title`,`daily_show`.`audio_file`
FROM `section`
INNER JOIN `daily_show`
ON `section`.`daily_show_id` = `daily_show`.`id`
WHERE `section`.`id` = $value";
$result = mysql_query($sql);


while ($query = mysql_fetch_array($result))
{
$id = $query['id'];
$start = $query['start'];
$stop = $query['stop'];
$title = $query['title'];
$audio =$query['audio_file'];
$duration =$stop-$start;

echo"{title: '",$title;
echo"', ";
echo"url: 'mp3:",$audio;
echo"', ";
echo"start: ",$start;
echo", ";
echo"duration: ",$duration;
echo"}, ";
}
}
?>

最佳答案

无需跟踪您是否在最后一行,您可以使用 rtrim 删除结尾的逗号。所有 trim PHP 中的 ming 函数(trim、ltrim、rtrim)采用第二个参数 $charlist,您可以在其中指定要修剪的字符。

ob_start(); // use output buffering or append to a string variable
while ($query = mysql_fetch_array($result))
{
$id = $query['id'];
$start = $query['start'];
$stop = $query['stop'];
$title = $query['title'];
$audio = $query['audio_file'];
$duration = $stop-$start;

printf('{"title":"%s", "url":"mp3:%s", "start":%d, "duration":%d},',
$title,
$audio,
intval($start),
intval($duration)
);
}
echo rtrim(ob_get_clean(), ', ');

关于PHP:结果集中最后一条记录的条件输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com