如何从数据库中在单个表单中显示数据

wfsdck30  于 2021-10-10  发布在  Java
关注(0)|答案(3)|浏览(355)

我试图在单个输入表单中显示来自数据库的数据。假设我有3行,其中列名为 name .

<input value"<?php echo $row['name']; ?>">

以下是我获取行的方式:

<?php while($row = mysqli_fetch_array($result)) { ?>  <input value="<?php echo $row['username']; ?>">  <?php } mysqli_close($con); ?>

那么,如何以一种输入形式而不是三种形式显示数据呢?如所附图片所示。

uplii1fm

uplii1fm1#

进行此操作时:

<?php while($row = mysqli_fetch_array($result)) { ?>  <input value="<?php echo $row['username']; ?>">  <?php } mysqli_close($con); ?>

实际上,您创建的输入行与循环迭代的输入行一样多。相反,您应该这样做:

<?php $userNames = []; while($row = mysqli_fetch_array($result)) {$userNames[] = $row['username'];} mysqli_close($con); ?>

现在我们有了一个漂亮的$usernames数组,我们将其内爆并放入输入行:

<?php $userNames = implode(",",$userNames);?>
<input value="<?php echo $userNames; ?>">

不要使用while循环来创建窗体本身。。。使用它们来设置数据。。。。
在创建表或选择表单数据时,如果您了解循环内部的情况,那么使用循环是一个好主意:)
有更多的方法可以做到这一点。。。

tct7dpnv

tct7dpnv2#

如果我理解正确,这就是你想要得到的。

<?php
$val = '';
while($row = $dbQuery->fetch(PDO::FETCH_ASSOC))  
{
    $val .= ((!empty($val) ? ', ': '' ) . $row['name'];
}
?>
<input value="<?php echo htmlspecialchars($val, ENT_QUOTES); ?>" />
tquggr8v

tquggr8v3#

如果数组变量中存储了单独的行 $row .
您可以在输入中添加这些字段,如下所示:

<?php $row = mysqli_fetch_array($result); ?>
<?php mysqli_close($con); ?>
<input value="<?php echo implode(", ", $row); ?>">

相关问题