Динамически генерируемая таблица отображает «0» - PullRequest
0 голосов
/ 31 января 2011

В PHP я пытаюсь создать таблицу, основанную на том, что находится в базе данных, но я никогда раньше не создавал таблицы, поэтому я решил оставить часть базы данных и просто выбросить случайный мусорцикл, как это:

<?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 ]

3 голосов
/ 31 января 2011

Вы должны добавить строки, используя точку, например, 'строка 1'.'строка 2' , без использования + .

0 голосов
/ 31 января 2011

В 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>
0 голосов
/ 31 января 2011

Этот код:

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

просто устанавливает $outb на то же значение в 500 раз (и это недопустимый HTML!).Вы используете . для объединения строк, а не + (я ненавижу это. Вот почему я пишу веб-материал с помощью Python):

<?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 голосов
/ 31 января 2011

Ваш настольный кронштейн не закрыт соответствующим образом. Также в php конкатенация для строки с. Вместо +

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...