mysql到html表,换行符\ r \ n为一行

时间:2017-03-26 18:23:53

标签: php mysql line-breaks

我有mysql表

有3列:id,name,number。

某些名称,数字字段有多个字符,但它们与\ r \ n \ n \ n字符串分隔。但总的来说,名字和数量都有相同数量的企业。

示例:

name; number
First\r\n; fists\r\n
Second\r\n third\r\n; Second\r\n third\r\n

我怎样才能将它们作为不同的行显示在html表中。

我试图通过以下方式实现这一目标:

if(strpos($string, "\r\n") !== FALSE) {

但这只能让我知道什么时候有超过1个条目。 即使有一个条目,我仍然有线路,它不是真正的帮助

2 个答案:

答案 0 :(得分:0)

您可以使用explode将行与SQL结果分开。 http://php.net/manual/de/function.explode.php

$nameFromDatabase = "a \r\n b \r\n c";
$numberFromDatabase = "1 \r\n 2 \r\n 3";

$names = explode("\r\n", $nameFromDatabase);
$numbers = explode("\r\n", $numberFromDatabase);

for ($i = 0; $i < count($names) && $i < count($numbers); $i++) {
    echo "<tr><td>" + $names[i] + "</td><td>" + $numbers[i] + "</td></tr>";
}

答案 1 :(得分:0)

这是将其带到桌子的另一种方法:

$str = 'name; number
First\r\n; fists\r\n
Second\r\n third\r\n; Second\r\n third\r\n';

$exploded = explode('\r\n',$str);
array_walk($exploded,function(&$value){
    $value = '<td>'.$value.'</td>';
});

echo '<table><tr>'.implode('</tr><tr>',$exploded).'</tr></table>';