这是我的第一篇文章。我搜索了存储库,我找不到我想要的答案,所以请光临我。我正在页面上构建一个表单,我正在为这些字段提供数据库值,最终结果是允许“成员用户”相应地更新。
我很难修剪尾随的'/'。我正在尝试使用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')]}
我认为没有变化。任何帮助将不胜感激!!提前谢谢。
答案 0 :(得分:2)
从数据库检索期间修剪的更好方法。试试这个
"SELECT TRIM(TRAILING '/' FROM `columname` ) AS fname, other columns FROM tableName"
参考:
答案 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.
?>