只有第一个单词填充提交按钮上的值字段


Only first word populating the value field on a submit button

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

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

如果我做一个简单的:

while($row = $rs->fetch_assoc()) {
    echo $row['name']."<br>;
}

我得到一个列表:

2013年3月

JOE

Robert Tables

但是,如果I:

<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>";

我的按钮看起来像

2013年3月

JOE

Robert

正如您所看到的,名称Tables从名称中删除,并且只显示Robert的值。

我最初认为,由于文本的大小与按钮的大小不同,没有显示名称,但我已经通过删除CSS并检查individuals.php上的$_POST值来证明事实并非如此。此外,如果我将数据库中的名称更改为Robert_Tables,它也可以正常工作。

我做错什么了吗?我需要更改什么才能获得显示单词和空格的值?

您的问题在于您忘记用引号''引用输入的value参数。看到这里你有:

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

应该是什么时候:

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

这破坏了您生成的html标记,请参阅下面关于省略引号时如何处理输出的简单片段:

<input type='submit' class='submitbtn' name='name' value=asd asd>
<input type='submit' class='submitbtn' name='name' value="asd asd">