我正在进行查询并使用结果填充按钮:
$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
,则可以正常工作。
我做错了吗?我需要更改什么才能获得显示单词和空格的值?
答案 0 :(得分:4)
您的问题依赖于您忘记使用引号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">
&#13;