我正在执行查询并用结果填充按钮:

$query="select  name from members where active=1 order by name";

如果我做一个简单的:
while($row = $rs->fetch_assoc()) {
    echo $row['name']."<br>;
}

我得到一份清单:
小精灵

罗伯特表
但是,如果我:
<table>
$column = 0;
   while($row = $rs->fetch_assoc()) {
        if ($column == 0) {
        echo "<tr>";
        }
    echo "<td class='cellnopad'><input type='submit' class='submitbtn' name='name' value=".$row['name']."> </td>";
    $column++;
        if ($column >= 5) {echo "</tr>";
        $row++;
        $column=0;
        }
    }
    echo "</table>";

我的纽扣看起来像
玛丽123

罗伯特
正如您所看到的,名称“cc>”从名称中被删除,只显示了Tables的值。
我最初以为由于文本的大小与按钮的大小不同,名称没有显示出来,但我已经通过删除Robert并检查CSS上的$_POST值证明了事实并非如此。另外,如果我将数据库中的名称更改为individuals.php它也可以正常工作。
我做错什么了吗?我需要改变什么才能得到同时显示单词和空格的值?

最佳答案

您的问题依赖于这样一个事实:您忘记用引号引用输入的value参数。看这里你有:

 value=".$row['name'].">

当它应该是:
 value='".$row['name']."'>

这将破坏生成的''标记,请参阅下面的简单片段,了解省略引号时如何处理输出:
<input type='submit' class='submitbtn' name='name' value=asd asd>
<input type='submit' class='submitbtn' name='name' value="asd asd">

10-05 20:59
查看更多