Datalist没有在空格后打印完整的名称。它只是给出名称的第一个单词,即忽略空格后的完整名称。名称是从数据库中提取的。假设银行名称是“XYZ Global Bank”,则它在下拉列表中只显示“XYZ”,其余名称不显示。请帮助我。
$query = "SELECT name FROM issuer";
$result = $conn->query($query);
if(!$result) die($conn->error);
$rows=$result->num_rows;
echo "<datalist id='bankNames'>";
for($i=0; $i<$rows; $i++)
{
$result->data_seek($i);
$row = $result->fetch_array(MYSQLI_ASSOC);
echo "<option value='".$row['name']."'>";
}
echo "</datalist>";
3条答案
按热度按时间jk9hmnmh1#
你好,使用这个代码,它会解决你的所有问题的空间。为您的参考,我已经附上了一个图像文件,所以它会对你很有帮助。
Image for Output how it will show.
6yjfywim2#
kqhtkvqz3#
您的问题细节并不清楚,但如果遇到的问题与您的特定浏览器无关,则可能是选项值包含语法中断字符,或者您的输入标记语法有缺陷。
正如Rick James在他的回答中所演示的,但是忽略了解释,您应该避免将动态值打印到HTML文档中,以确保所有内容都被正确填充和呈现。
您可以安全地迭代mysqli查询返回的结果集对象--这样就不需要在循环中调用
fetch()
。代码:(PHPize Demo)
请特别注意表单中类似的识别属性及其关系。
<label>
标记的for="bankname"
引用<input>
标记的id="bankname"
。<input>
标记的list="bank_names"
引用<datalist>
标记的id="bank_names"
。<input>
标签的name="bank_name"
被用作提交有效负载数组中已提交值的键。根据表单方法,通过$_GET['bank_name']
或$_POST['bank_name']
访问已提交值。其他参考文献: