在构建表的循环中使用php RTRIM函数

时间:2011-12-24 06:30:38

标签: php

这是我的第一篇文章。我搜索了存储库,我找不到我想要的答案,所以请光临我。我正在页面上构建一个表单,我正在为这些字段提供数据库值,最终结果是允许“成员用户”相应地更新。

我很难修剪尾随的'/'。我正在尝试使用RTRIM()。

查询以获取我的数据:

`$m_q = "SELECT * FROM members where memid='$m_memid'";`
`$b_result = mysql_query($m_q);`

代码循环构建我的表w /预填充数据:

while ( $row = mysql_fetch_assoc($b_result)) {                 $m_userinfo .= "<tr class=\"logreg\">\r\n<td><b>First Name</b></td>";                 $m_userinfo .= "<td><input type=\"text\" name=\"firstname\" value={$row['RTRIM(firstname)']}/></td></tr>"; .........

我遇到的问题是什么都没有被修剪。将语法交换为:

{$row[rtrim('firstname')]}我认为没有变化。任何帮助将不胜感激!!提前谢谢。

4 个答案:

答案 0 :(得分:2)

从数据库检索期间修剪的更好方法。试试这个

"SELECT TRIM(TRAILING  '/' FROM  `columname` ) AS fname, other columns FROM tableName" 

参考:

TRIM

答案 1 :(得分:1)

您在数组索引之外执行此操作,或者PHP会将其解释为数组索引本身(例如,在第一种情况下整个字符串'rtrim(firstname)'):

while ($row = mysql_fetch_assoc($b_result)) 
{ 
 $trimmed = rtrim($row['firstname'],'/');
 $m_userinfo .= "<tr class=\"logreg\">\r\n<td><b>First Name</b></td>"; 
 $m_userinfo .= "<td><input type=\"text\" name=\"firstname\" value=\"{$trimmed}\"/></td></tr>";
}

答案 2 :(得分:0)

value={rtrim($row['firstname'], '/')}

答案 3 :(得分:0)

我认为使用单引号字符串和点连接会更简单。您可以将表达式放在“。$ trimmed”的点之间。如果你想要的话。我喜欢在做字符串工作之前简化变量,我自己

<?php
while ($row = mysql_fetch_assoc($b_result)) 
{
 $trimmed = rtrim($row['firstname'],'/');
 $m_userinfo .= '<tr class="logreg">' . "\r\n" . '<td><b>First Name</b></td>'; 
 $m_userinfo .= '<td><input type="text" name="firstname" value="' . $trimmed . '"/></td></tr>';
}
?>

有时我可能会这样做。 (听说过heredoc吗?):

    <?php
    while ($row = mysql_fetch_assoc($b_result)) 
    {

     $trimmed = rtrim($row['firstname'],'/');
     $m_userinfo .= <<<EOT
<tr class="logreg">
<td><b>First Name</b></td>
<td><input type="text" name="firstname" value="$trimmed"/></td></tr>
EOT;
    }
// Read the manual about Heredoc if you don't know about it.
    ?>