2015-11-20 38 views
-1

我彻底研究了这个主题,但我的初学者编码技巧想知道为什么PHP只渲染包含在INCLUDE脚本中的WHILE循环的一行。php include语句只执行WHILE循环的一个实例

为了使您的回答简单,这里是我的问题的元素:

A)调用,包括PHP脚本:

include ("/DEMO/HtmlTabela.php"); 

B)的脚本包含的内容:

<?php 

$BrojRedova = 5; 

echo "<table border='1'>"; 
echo "<tr>"; 

echo "<td>Pozdrav</td>"; 
echo "<td>Ime</td>"; 
echo "<td>Prezime</td>"; 
echo "<td>Preduzece</td>"; 
echo "</tr>"; 

// Petlja za automatsko popunjavanje redova HTML tabele upotrebom PHP-a 
$brojac = 0; 
while($brojac<5) { 
     echo "<td>Gospodin</td>"; 
     echo "<td>Daniel</td>"; 
     echo "<td>Andric</td>"; 
     echo "<td>PPB</td>"; 
     echo "</tr>"; 
     $brojac++; 
} 

echo "</table>"; 

C)结果

Pozdrav Ime Prezime Preduzece Gospodin丹尼尔·安德里奇PPB

d)问题是,我写的WHILE循环来得到这样的结果:

Pozdrav IME Prezime Preduzece Gospodin丹尼尔·安德里奇PPB Gospodin丹尼尔·安德里奇PPB Gospodin丹尼尔·安德里奇PPB Gospodin丹尼尔Andric PPB Gospodin Daniel Andric PPB

+0

它可能正常工作,但您似乎有一个HTML错误,这可能会导致显示信息时出现问题。您在while循环中缺少开头的''元素。 – Chris

回答

1

您需要在while循环开始时使用echo('<tr>');来启动表格行。检查脚本的HTML输出对调试PHP非常有帮助。

0

您的原始代码存在问题。我认为您忘记将echo('<tr>');放在while循环中。您可以像下面的代码一样使用它。

while($brojac<5) { 
    echo('<tr>'); 
    echo "<td>Gospodin</td>"; 
    echo "<td>Daniel</td>"; 
    echo "<td>Andric</td>"; 
    echo "<td>PPB</td>"; 
    echo "</tr>"; 
    $brojac++; 
} 
+1

这解决了它。谢谢大家回答。 – Daniel

+0

很高兴为你效劳。请考虑接受答案[(请参阅如何接受所​​有答案)](http://meta.stackexchange.com/questions/173399/how-to-upvote-on-stack-overflow),并提高我的答案是否有帮助你[(请参阅如何在堆栈溢出?)](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

+1

@Daniel就像柠檬说的。这就是Stack的推出方式。否则,其他人可能会认为你的问题仍然没有解决,可能会试图发布更多答案。 –