[英]Iterate (loop) through complicated range of numbers using groups to generate Bracket Sheet
[英]Iterate through the query and divide numbers into groups
我正在为游戏编写脚本。 它应该遍历查询并打印数字组。 在每个组中,有9个数字。 例如,如果mysql_num_rows($sql_pp);
返回16,一切应如下所示:
我的代码:
<?php
ob_start();
session_start();
Header("Content-Type: text/html;charset=UTF-8");
require_once($_SERVER['DOCUMENT_ROOT']."/data/conn_file.php");
$login = $_SESSION['login'];
$laukai = mysql_query("SELECT tb_pole.num, tb_pole.type, tb_pole.time AS tb_pole_time,
tb_time.time AS tb_time_time FROM `tb_pole` JOIN tb_time ON tb_pole.type =
tb_time.type WHERE `username` = '$login' ORDER BY tb_pole.time");
$sql_pp = mysql_query("SELECT * FROM `tb_pole` WHERE `username` = '$login'") or
die(mysql_error());
$kol_pole = mysql_num_rows($sql_pp);
$koll = $kol_pole / 9;
if ($kol_pole <= 8) {
$kl = 1;
} else {
$kl = 1;
while ($kl <= $koll) {
$kl++;
}
}
?>
<table>
<?php
if (mysql_num_rows($laukai) > 0) {
for ($i = 1; $i<=$kl; $i++) {
while ($row = mysql_fetch_assoc($laukai)) {
?>
<tr>
<td><?php echo $i; ?></td>
<td><?php echo $row['num']; ?></td>
</tr>
<?php
}
}
}
?>
如您所见,最后一行是1 | 10
1 | 10
。 应该是2 | 10
2 | 10
(因为数字10在组2中)(使用“检查元素”从1
更改为2
)
当我的变量$i
不在while
循环中时,我正在使用这些代码行:
<div id="tabs_pole">
<ul>
<?php
for($i = 1; $i <= $kl; $i++) {
?>
<li><a href="#pole<?=$i; ?>"><span><?=$i; ?></span></a></li>
<?php
}
?>
</ul>
</div>
如果您只是想将数字按9分组,那么
<?php
if (mysql_num_rows($laukai) > 0) {
$i=1;
while ($row = mysql_fetch_assoc($laukai)) {
?>
<tr>
<td><?php echo floor($i/9)+1; ?></td>
<td><?php echo $row['num']; ?></td>
</tr>
<?php
$i++;
}
}
}
?>
$i
只是记录号,并使用round
对其进行处理,对于1/9, round
为0-加1为1。对于10,则为(10/9)+ 1 = 2 ...
我找到了解决方案:)谢谢大家的帮助:)
switch (true) {
case ($row['num'] <= 9):
$i = 1;
break;
case ($row['num'] <= 9 * 2):
$i = 2;
break;
case ($row['num'] <= 9 * 3):
$i = 3;
break;
case ($row['num'] <= 9 * 4):
$i = 4;
break;
case ($row['num'] <= 9 * 5):
$i = 5;
break;
case ($row['num'] <= 9 * 6):
$i = 6;
break;
case ($row['num'] <= 9 * 7):
$i = 7;
break;
case ($row['num'] <= 9 * 8):
$i = 8;
break;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.