如何使用PHP将数据库多条记录展示在单个表单输入框中
你原本的代码在while循环内部写了<input>标签,所以每遍历一行数据库记录就会生成一个新的输入框,才会出现3个输入框的情况。要将所有数据放到同一个输入框,只需要先把所有username值拼接为一个完整字符串,再渲染到单个输入框即可,实现代码如下:
步骤1:拼接所有用户名
<?php // 初始化空字符串存储所有用户名 $all_users = ''; while($row = mysqli_fetch_array($result)) { // 可自定义分隔符,比如要每行一个就用"\n",要逗号分隔就用", " $all_users .= $row['username'] . "\n"; } // 移除末尾多余的分隔符 $all_users = rtrim($all_users, "\n"); mysqli_close($con); ?>
步骤2:渲染单个输入框
如果需要展示多行效果(和你给出的示意图一致),推荐使用<textarea>标签:
<textarea rows="5" cols="30"><?php echo htmlspecialchars($all_users); ?></textarea>
如果一定要用<input>单行输入框,可以把分隔符换成逗号、空格等可在单行显示的字符:
<input value="<?php echo htmlspecialchars($all_users); ?>">
注:使用htmlspecialchars是为了转义特殊字符,避免XSS安全风险。
内容的提问来源于stack exchange,提问作者user6473261
相关产品推荐
相关产品推荐

