在循环构造表时使用php RTRIM函数

在循环构造表时使用php RTRIM函数,php,Php,我在一个页面上构建了一个表单,在这里我为这些字段提供DB值,最终结果是允许“成员用户”进行相应的更新 我在修剪尾部“/”时遇到困难。我正在尝试使用RTRIM() 获取我的数据的查询: `$m_q = "SELECT * FROM members where memid='$m_memid'";` `$b_result = mysql_query($m_q);` 循环通过带有预填充数据的生成我的表的代码: while($row=mysql\u fetch\u assoc($b\u result)

我在一个页面上构建了一个表单,在这里我为这些字段提供DB值,最终结果是允许“成员用户”进行相应的更新

我在修剪尾部“/”时遇到困难。我正在尝试使用RTRIM()

获取我的数据的查询:

`$m_q = "SELECT * FROM members where memid='$m_memid'";`
`$b_result = mysql_query($m_q);`
循环通过带有预填充数据的生成我的表的代码:

while($row=mysql\u fetch\u assoc($b\u result)){
$m\u userinfo.=“\r\n名字”
$m_userinfo.=”;……

我遇到的问题是没有任何内容被修剪。在将语法切换到以下位置时:


{$row[rtrim('firstname')]}
我看不到任何变化。

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

while($row=mysql\u fetch\u assoc($b\u result))
{ 
$trimmed=rtrim($row['firstname'],'/');
$m_userinfo.=“\r\n名字”;
$m_userinfo.=“”;
}

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

while($row=mysql\u fetch\u assoc($b\u result))
{ 
$trimmed=rtrim($row['firstname'],'/');
$m_userinfo.=“\r\n名字”;
$m_userinfo.=“”;
}
值={rtrim($row['firstname'],'/')} 值={rtrim($row['firstname'],'/')}
在从数据库检索期间进行修剪的更好方法。请尝试以下操作

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


在从数据库检索期间进行修剪的更好方法。请尝试以下操作

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


我认为使用单引号字符串和点连接会更简单。如果需要,可以将表达式放在“$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>';
}
?>

有时我可能会这样做。(听说过埃雷多克吗?)


我认为使用单引号字符串和点连接会更简单。如果愿意,可以将表达式放在“$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>';
}
?>

有时我可能会这样做。(听说过埃雷多克吗?)


或者干脆
$trimmed=rtrim($row['firstname'],“/”);
@diEcho谢谢,我跳过了他定义要修剪的字符的部分…:/。更正了我的回答为什么“value=\“{$trimmed}\”,而不仅仅是“value=\$trimmed”“?再次感谢!这正是我想要的。我没有从文档中收集到。谢谢!或者干脆
$trimmed=rtrim($row['firstname']),“/”;
@diEcho谢谢,我跳过了他定义要修剪的字符的部分…:/。更正了我的回答为什么“value=\”{$trimmed}\”,而不仅仅是“value=\“$trimmed”’?再次感谢!这正是我想要的。我不是从文档中收集到的。谢谢!你知道吗,这是正确的答案。在数据库中这样做比在PHP中更好,不?+1你知道吗,这是正确的答案。在数据库中这样做比在PHP中更好,不?+1
    <?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.
    ?>