我正在进行查询并用结果填充按钮:
$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">