动态生成的表显示'0'

时间:2011-01-31 03:59:14

标签: php html-table

在PHP中我试图在数据库中创建一个基于什么的表,但我以前从未创建过表,所以我想我会遗漏数据库的一部分,然后只是扔掉一个for的垃圾循环,像这样:

<?php

            $outa='<table border="0"><tr>
                    <th>Month</th>
                    <th>Savings</th>
                  </tr>
                  <tr>';


        for($i=0;$i<500;$i++)
        {
            $outb = '
                <td>df</td>
                <td>df</td>>';
        }

        $out=$outa+$outb+'
                                    </tr>
                                  </table';

?>
<html>
<head></head><body>
<?php echo $out; ?>
</body></html>

但它总是输出一个0而不是表,是什么给出了?

4 个答案:

答案 0 :(得分:3)

您应该使用点添加字符串,例如'string 1'。 'string 2',不使用 +

答案 1 :(得分:0)

您的桌架未正确关闭。另外在php连接中的字符串是。取而代之的是

答案 2 :(得分:0)

此代码:

    for($i=0;$i<500;$i++)
    {
        $outb = '
            <td>df</td>
            <td>df</td>>';
    }

$outb设置为相同的值500次(并且它是无效的HTML!)。你使用.来连接字符串,而不是+(我讨厌它。这就是我用Python编写web代码的原因):

<?php

  $outa = '<table border="0">
             <tr>
               <th>Month</th>
               <th>Savings</th>
             </tr>

             <tr>';


  for ($i = 0; $i < 500; $i++)
  {
    $outb .= '<td>df</td><td>df</td>';
  }

  $out = $outa + $outb + '</tr></table>';

?>
<html>
<head></head><body>
<?php echo $out; ?>
</body></html>

答案 3 :(得分:0)

在php中连接两个带+的字符串将被视为两个整数值的相加。给定的字符串值将自动转换为整数。 echo ‘st1’ + ‘st2’;将转换为echo 0 + 0;

同时将<tr>标记保留在循环中:

<?php

    $outa='<table border="0"><tr>
            <th>Month</th>
            <th>Savings</th>
          </tr>
         ';


for($i=0;$i<500;$i++)
{
    $outb = '<tr>
        <td>df</td>
        <td>df</td></tr>';
}

$out= $outa . $outb . '</table>';


?>


<html>
<head></head><body>
<?php echo $out; ?>
</body></html>