从MySQL行中识别换行符

时间:2014-07-04 17:59:37

标签: php mysql sql

我正在开发一种以这种方式运作的系统:

  • 选择一个mysql表
  • 选择一个mysql行
  • 从该行提取数据(使用WHERE和AND)
  • 使用php
  • 显示数据

但是,在其中一行中,参数是使用换行符存储的,我需要我的系统识别此换行符,然后发送'作为新的价值。

代码:

foreach($rows as $row){ 
$ips = $row['dedicatedip'];
$ips2 = $row['assignedips'];
$status = $row['domainstatus'];

echo '<b>', $ips . '&nbsp;&nbsp;-</b>&nbsp;&nbsp;'; echo "<input type='text' value="; echo consultaIP($ips);  echo ">"; echo '<b> Status:'; if ($status==Active) { echo ' <span class="label active">Ativo</span></b><br><br>';} else { echo ' <span class="label pending">Desativado</span></b><br/><br/>';}

if ($ips2 != '') { echo '<b>', $ips2 . '&nbsp;&nbsp;-</b>&nbsp;&nbsp;'; echo "<input type='text' value="; echo consultaIP($ips);  echo ">"; echo '<b> Status:'; if ($status==Active) { echo ' <span class="label active">Ativo</span></b><br><br>';} else { echo ' <span class="label pending">Desativado</span></b><br/><br/>';} }
}

PS:function consultaIP是一个查找IP反向DNS的函数。

dedicatedip行只存储了一个值,所以没问题。但是分配的IP有一个buch,存储方式如下:

177.101.0.100
177.101.0.101
177.101.0.102

问题是系统需要为每个IP创建输入,而这种情况不会发生(它显示如下:177.101.0.100 177.101.0.101 177.101.0.102)。

这些值不会返回数据库,所以这不会有问题。它将在POST表单中使用。

编辑:


我已添加此行:

chars = explode("\n", $ips2);

阵列看起来像那样:

数组([0] =&gt; 177.101.229.92 [1] =&gt; 177.101.229.80)

但是,如何在foreach中使用此数组输出,并正确填充输入?


解决:

$chars = explode("\n", $ips2);

foreach($chars as $iplista){
if ($ips2 != '') { echo '<b>', $iplista . '&nbsp;&nbsp;-</b>&nbsp;&nbsp;'; echo "<input     type='text' value="; echo consultaIP($ips);  echo ">"; echo '<b> Status:'; if ($status==Active) { echo ' <span class="label active">Ativo</span></b><br><br>';} else { echo ' <span class="label pending">Desativado</span></b><br/><br/>';} }
}

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望在每个IP上处理一组IP地址吗?

您可以使用explode功能拆分字符串,例如在换行符char "\n"上。如果您不知道换行符序列(\ r,\ n或\ r \ n)或输入可能会有所不同,则可以使用preg_split来分割正则表达式,例如\s表示所有空格,(\r|\n|\r\n)表示系统无关换行。