我必须在一个表中显示 SQL 记录(以 div 形式显示),其中一行只能显示 2 条记录。记录总数即 n 不是固定的,也不是数组。行数将取决于可用记录的数量。我尝试了几种方法,例如定义“define('TABLE_COLS', 2);”并在 while 循环中使用 for 循环,但他们没有给我所需的结果。我正在处理的代码如下:
echo "<table>";
$sql = "Some SQL";
$result = mysql_query($sql);
$num = mysql_numrows($result);
$i = 0;
define('TABLE_COLS', 2);
echo "<tr>";
while ($i < $num) {
// for($i=0; $i<=2; $i++){
$name = mysql_result($result,$i,"name");
$Count = mysql_result($result,$i,"count");
// echo "<tr>";
echo "<td>";
echo "<div>";
echo "<div>";
echo "$name";
echo "</div>";
echo "<div>";
echo "$Count";
echo "</div>";
echo "</div>";
echo "</td>";
// echo "</tr>";
$i++;
}
echo "</tr>";
mysql_free_result($result);
echo "</table>";
我正在寻找的结果是这样的: 现在我必须添加相应事件 id 的计数值并将其显示在结果表中,如下所示。我对 PHP 很陌生,所以请帮助我。非常感谢任何评论。
+------------+ +--------------+
| Abby Bory | | Manny Mua |
+------------+ +--------------+
| 4 | | 22 |
+------------+ +--------------+
+------------+ +--------------+
| Senyz Dory| | Kory Bua |
+------------+ +--------------+
| 8 | | 27 |
+------------+ +--------------+
最佳答案
如果这有助于解决您的问题,您可以尝试一下。我会声明多个变量以使管理更容易,例如更改每行的列。给定的代码应该适应每行任意数量的列。让我知道这是否是您所需要的。
另外,请考虑使用 mysqli
而不是 mysql
。
更新 1:包含示例数据库格式以标准化格式
数据库.php
<?php
$db_servername = "DATABASE SERVER NAME";
$db_username = "DATABASE USERNAME";
$db_password = "DATABASE PASSWORD";
$db_database = "DATABASE TABLE";
// Create connection
$con = new mysqli($db_servername, $db_username, $db_password, $db_database);
// Check connection
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
?>
示例代码
require "database.php";
global $con;
echo "<table>";
$sql = "SOME SQL";
$result = mysqli_query($con, $sql);
// define number of columns per row
$num_col = 2;
// calculate total number of row based on columns per row defined
$total_row = intVal(mysqli_num_rows($result) / $num_col);
// calculate left over result if the division result is not perfect number
$left_over = mysqli_num_rows($result) % $num_col;
$counter = 0;
while($counter < $total_row){
echo '<tr>';
for($i = 0; $i < $num_col; $i++){
$row = mysqli_fetch_array($result);
echo "<td>";
echo "<div>".$row["name"]."</div>";
echo "<div>".$row["count"]."</div>";
echo "</td>";
}
echo '</tr>';
$counter++;
}
echo "<tr>";
while($left_over > 0 ){
$row = mysqli_fetch_array($result);
echo "<td>";
echo "<div>".$row["name"]."</div>";
echo "<div>".$row["count"]."</div>";
echo "</td>";
$left_over--;
}
echo "</tr>";
echo "</table>";
关于php - 如何在PHP中显示多条总记录中表行中的两条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549739/