如何在使用echo时换行到新行?

时间:2011-06-16 12:16:29

标签: php mysql

以下代码......

echo "<table width=585 height=182 cass=table1>
<tr>
<td height=10 colspan=3 align=left valign=top></td>
</tr>
<tr>
<td height=17 colspan=3 align=center valign=middle class=text6>". $data['pgmtitle'] ."
</td>
</tr>
<tr>
<td height=17 colspan=3 align=center valign=middle class=text8>". $data['org'] ."</td>
</tr>
<tr>
<td height=21 colspan=3 align=center valign=middle class=text19>". $data['eventdtls'] ."
</td>
</tr>
<tr>
<td width=190 height=28 align=left valign=top class=text3>". $data['venue'] ."</td>
<td width=11 rowspan=2 align=left valign=top><div class=box2></div></td>
<td width=368 rowspan=2 align=left valign=top class=text7>
<b>Contact:</b> ". $data['contactperson'] ."
<br/><b>Phone:</b> ". $data['contactnumber'] ."
<br/><b>E-mail ID:</b> ". $data['email'] ."
<br/><b>Website:</b> ". $data['website'] ."</td>
</tr>
<tr>
<td height=51 align=left valign=top class=text7>". $data['hr'] .":". $data['min'] ." ". $data['time'] ."<br/>". $data['nature'] ."<br/><b>Category:</b> ". $data['category'] ."    
</td>
</tr>
<tr>
<td height=8 colspan=3 align=left valign=top><div class=box3></div></td>
</tr>
</table><br/>";
}

我有一个注册页面,它会进入数据库。这是检索页面。如果某人输入'pgmtitle'没有空格或完全以大写字母输入,则回声表会崩溃。请帮帮我。

5 个答案:

答案 0 :(得分:1)

如果新行给你带来问题(很难说出你的问题是什么),你可以使用以下方法删除尾随的新行:

$data = array_map("trim", $data);

您使用echo()的方式非常糟糕。尝试将演示文稿(HTML的显示)与其他逻辑分开。您可以使用<?php echo $foo ?>或启用短标记<?= $foo ?>

使代码看起来更清晰
<table width=585 height=182 cass=table1>
<tr>
<td height=10 colspan=3 align=left valign=top></td>
</tr>
<tr>
<td height=17 colspan=3 align=center valign=middle class=text6><?php echo $data['pgmtitle'] ?></td>
</tr>
<tr>
<td height=17 colspan=3 align=center valign=middle class=text8><?php echo $data['org'] ?></td>
</tr>
<tr>
<td height=21 colspan=3 align=center valign=middle class=text19><?php echo $data['eventdtls'] ?></td>
</tr>
<tr>
<td width=190 height=28 align=left valign=top class=text3><? $data['venue'] ?></td>
<td width=11 rowspan=2 align=left valign=top><div class=box2></div></td>
<td width=368 rowspan=2 align=left valign=top class=text7>
<b>Contact:</b><?php echo $data['contactperson'] ?>
<br/><b>Phone:</b> <?php echo $data['contactnumber'] ?>
<br/><b>E-mail ID:</b> <?php echo $data['email'] ?>
<br/><b>Website:</b> <?php echo $data['website'] ?></td>
              </tr>
              <tr>
              <td height=51 align=left valign=top class=text7><?php echo $data['hr'] ?>:<?php echo $data['min'] ?> <?php echo $data['time'] ?><br/><?php echo $data['nature'] ?><br/><b>Category:</b> <?php echo $data['category'] ?></td>
</tr>
<tr>
<td height=8 colspan=3 align=left valign=top><div class=box3></div></td>
</tr>
</table><br/>

编辑:回答有关迭代的进一步问题:

您可以这样做:

foreach ($rows as $data) {
?>
...
<td><?php echo $foo ?></td>
...
<?php
}

或者如果你使用的是很短的标签:

<?php foreach ($rows as $data) : ?>
...
<td><?= $foo ?></td>
...
<?php endforeach; ?>

为了保持可读性和可读性,将显示逻辑分开是关键。

答案 1 :(得分:0)

你没有在标签属性中使用任何引用吗?

例如

class="text7"

要通过echo输出它们,你必须使用“\”字符来避开它们...就像这样......

class=\"test7\"

答案 2 :(得分:0)

答案 3 :(得分:0)

echo "<table><tr><td>".wordwrap($data['pgmtitle'],20,"<br>",true)."</td></tr></table>";

答案 4 :(得分:0)

这听起来更像是HTML&amp; CSS问题,而不是PHP问题。

$data['pgmtitle']包含在DIV标记中,并将其CSS overflow属性设置为隐藏。

如果您想修改TD标签本身,请随时咨询Why does overflow:hidden not work in a <td>?