2014-03-04 43 views
0

我有这段代码可以生成一张表格,它完全是我想要的。我想把这整个代码分配给一个PHP变量,例如:$ table =发布的代码。我尝试连接和heredoc但无法得到它输出我的表,因为它是在做和echo $表; 任何输入被理解将HTML和PHP代码放入一个变量中

<table id=patients> 
    <tr> 
     <th>Pt. username</th> 
     <th>Pt. number</th> 
     <th>Full Name</th> 
     <th>Added on</th> 
    </tr> 


    <?php $x=1; 
    foreach ($users as $patient) { 

    ?> <tr <?php if ($x % 2 == 0) {echo "class='alt'"; } ?>> 
     <td> <a href="profile.php?username=<?php echo $patient['username'];?>"><?php echo $patient['username'];?></a></td> 
     <td> <?php echo $patient['id'];?></td> 
     <td> <?php echo $patient['name'];?></td> 
     <td> <?php echo $patient['joined'];?></td> 
    </tr> 

    <?php 
     $x++; 
     } ?> 
</table> 

回答

3

只要使用输出缓存来把输出到内部缓冲器,然后捕获它。

<?php 
    ob_start(); 
?> 
<table id=patients> 
    <tr> 
     <th>Pt. username</th> 
     <th>Pt. number</th> 
     <th>Full Name</th> 
     <th>Added on</th> 
    </tr> 


    <?php $x=1; 
    foreach ($users as $patient) { 

    ?> <tr <?php if ($x % 2 == 0) {echo "class='alt'"; } ?>> 
     <td> <a href="profile.php?username=<?php echo $patient['username'];?>"><?php echo $patient['username'];?></a></td> 
     <td> <?php echo $patient['id'];?></td> 
     <td> <?php echo $patient['name'];?></td> 
     <td> <?php echo $patient['joined'];?></td> 
    </tr> 

    <?php 
     $x++; 
     } ?> 
</table> 
<?php 
    $table = ob_get_clean(); 
?> 
+0

谢谢约翰!像魅力一样工作 – Tikaa

+0

我总是考虑在这种情况下使用输出缓冲一点* *破解*。但这只是我 – 2014-03-04 03:04:09

+0

@Dagon如果你不使用输出缓冲这里的代码可能会变得非常混乱(引入不必要的错误到一个完美的代码块),只是我的看法 – bansi

相关问题