在不影响行数的情况下在fix html表上显示php数组
我仍在学习PHP的过程中,希望您能帮助我解决我的问题。我已经知道如何将数组显示到html表中,这是我通常使用表单所做的。然后我突然想到了这个问题,其中应该有一个固定行数的固定表(假设大约5行) 现在,如果我要显示来自某个特定用户的信息,并且该用户只有来自mysql的2行数据,那么我的html表上将只显示2行数据 发生了什么:在不影响行数的情况下在fix html表上显示php数组,php,html,Php,Html,我仍在学习PHP的过程中,希望您能帮助我解决我的问题。我已经知道如何将数组显示到html表中,这是我通常使用表单所做的。然后我突然想到了这个问题,其中应该有一个固定行数的固定表(假设大约5行) 现在,如果我要显示来自某个特定用户的信息,并且该用户只有来自mysql的2行数据,那么我的html表上将只显示2行数据 发生了什么: ***************** ** A ** B ** C ** ***************** ** 1 ** 2 ** 3 ** **************
*****************
** A ** B ** C **
*****************
** 1 ** 2 ** 3 **
*****************
** 4 ** 5 ** 6 **
*****************
我想要的输出:
*****************
** A ** B ** C **
*****************
** 1 ** 2 ** 3 **
*****************
** 4 ** 5 ** 6 **
*****************
** ** ** **
*****************
** ** ** **
*****************
有没有一种简洁的方法来编写代码。你的想法已经帮了大忙;我不是要代码,但你可以指导我在这里可以做什么,以实现我想要的输出
谢谢。您可以使用固定数字计算维护第二个计数器。在伪代码中,它可能如下所示:
$rowCount = 0;
while (getNextDataRow()) {
printDataRow();
$rowCount++;
}
while ($rowCount <= 5) {
printEmptyRow();
$rowCount++;
}
$myData = array(
array('A', 'B', 'C'),
array('1', '2', '3'),
array('4', '5', '6')
);
for ($i = 0; $i < 5; $i++)
{
echo '<tr>';
if (isset($myData[$i]))
{
echo '<td>'.$myData[$i][0].'</td>';
echo '<td>'.$myData[$i][1].'</td>';
echo '<td>'.$myData[$i][2].'</td>';
}
else
{
echo '<td> </td>';
echo '<td> </td>';
echo '<td> </td>';
}
echo '</tr>';
}
$rowCount=0;
while(getNextDataRow()){
printDataRow();
$rowCount++;
}
while($rowCount使用带有if
语句的for
循环。类似如下:
$rowCount = 0;
while (getNextDataRow()) {
printDataRow();
$rowCount++;
}
while ($rowCount <= 5) {
printEmptyRow();
$rowCount++;
}
$myData = array(
array('A', 'B', 'C'),
array('1', '2', '3'),
array('4', '5', '6')
);
for ($i = 0; $i < 5; $i++)
{
echo '<tr>';
if (isset($myData[$i]))
{
echo '<td>'.$myData[$i][0].'</td>';
echo '<td>'.$myData[$i][1].'</td>';
echo '<td>'.$myData[$i][2].'</td>';
}
else
{
echo '<td> </td>';
echo '<td> </td>';
echo '<td> </td>';
}
echo '</tr>';
}
$myData=array(
数组('A','B','C'),
数组('1','2','3'),
数组('4','5','6')
);
对于($i=0;$i<5;$i++)
{
回声';
if(isset($myData[$i]))
{
回显'.$myData[$i][0].';
回显“.$myData[$i][1]”;
回显“.$myData[$i][2]”;
}
其他的
{
回声';
回声';
回声';
}
回声';
}
您可以用空字符串填充数组,直到其计数为5:
$array = array(array(1,2,3),array(4,5,6));
for($i=0, $add = 5-count($array);$i<$add;$i++){
$array[]=array('','','');
}
var_dump($array);
计算从mysql获得的行数。如果少于所需的行数,则在另一个循环中将更多行添加到表中。因此,如果数据库结果“更小”,则输出更多行谢谢@Michel我现在有了这个想法,我会尝试一下,并更新我的结果,但我相信这就是我所需要的。谢谢所有的帮助人员仍在尝试你提供的所有建议。我会随时通知你。谢谢@David我现在有了这个想法,我会尝试一下,并更新我的结果,但我不会我相信这就是我需要的。你搞定了。非常感谢。