我想把record字段这一列进行需要的格式输出,例如:
在record字段中,有:
023451
231234
123344
021234
DNF
DNS
以上这样的值,需要进行判断和输出:
条件一:如果不是数字,则正常输出;
条件二:如果是数字,则继续判断:
如果首位数是0,则输出格式为:
如:023451 输出成 23秒451,
021234 输出成 32秒234;
如果首位数不是0,则输出各位为:
如:231234 输出成 2分31秒234,
123344 输出成 1分23秒344;
请问改如何进行修改代码?
<?php
// 从记录集中调取出对应信息
$upname = sprintf("SELECT rank,bib,arealname,delegation,record,remark,point,prize FROM match_results WHERE game = %s and `year` = %s and `match` = %s and `mname` = %s and `event` = %s and `group` = %s and `schedule` = %s GROUP BY arealname,delegation order by record ASC",
GetSQLValueString($game, "text"),
GetSQLValueString($year, "text"),
GetSQLValueString($match, "text"),
GetSQLValueString($mname, "text"),
GetSQLValueString($event, "text"),
GetSQLValueString($group, "text"),
GetSQLValueString($schedule, "text")
);
$upname =mysql_query($upname) or die("查询失败");
function convertSpecialNumber($record) {
// 判断是否输入的是数字或者其他文字字符
if (strlen($record) == 6) { //速度轮滑数值判断
// 如果数字以“0”开头,则移除“0”
if ($record[0] === '0') {
$record = substr($record, 1); // 移除第一个字符(即“0”)
// 分割秒数和毫秒数
$ss = substr($record, 0, 2); // 前两位是秒数
$ms = substr($record, 2); // 后四位是毫秒数
// 格式化输出
$formatted = $ss . "秒" . $ms;
return $formatted;
}
// 分割秒数和毫秒数
$mm = substr($record, 0, 1); // 前两位是分数
$ss = substr($record, 1, 2); // 前两位是秒数
$ms = substr($record, 3); // 后四位是毫秒数
// 格式化输出
$formatted = $mm . "分" . $ss . "秒" . $ms;
return $formatted;
} else {
// 如果不是六位数,返回错误或原始输入
return "输入的数字不是有效的六位数";
}
}
?>
<?php while ($row = mysql_fetch_assoc($upname)):
?>
<tr align="center">
<td><?php echo $row['rank']; ?></td>
<td><?php echo $row['bib']; ?></td>
<td><?php echo $row['arealname']; ?></td>
<td><?php echo $row['delegation']; ?></td>
<td><?php echo $row['record']; ?></td>
<td><?php echo $row['remark']; ?></td>
<td><?php echo $row['point']; ?></td>
<td><?php echo $row['prize']; ?></td>
</tr>
<?php endwhile; ?>