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

时间:2014-10-28 16:48:52

标签: php html mysqli

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

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

如果我做的很简单:

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

我得到一个清单:

  

Mary123

     

JOE

     

Robert Tables

但是如果我:

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

我的按钮看起来像

  

Mary123

     

JOE

     

罗伯特

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

我最初认为由于文字大小与按钮大小的关系而没有显示该名称,但我已经通过删除CSS并检查{{1}来证明并非如此。 } $_POST上的值。另外,如果我将数据库中的名称更改为individuals.php,则可以正常工作。

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

1 个答案:

答案 0 :(得分:4)

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

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

应该是:

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

这会破坏您生成的html标记,请参阅下面的简单代码段,了解省略引号时输出的处理方式:

&#13;
&#13;
<input type='submit' class='submitbtn' name='name' value=asd asd>
<input type='submit' class='submitbtn' name='name' value="asd asd">
&#13;
&#13;
&#13;