You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP与HTML中如何显示关联数组内同键对应的多行独立数据

PHP与HTML中如何显示关联数组内同键对应的多行独立数据

嘿,我来帮你解决这个问题!你遇到的核心问题是当前代码每次循环都会覆盖$document_title变量,最后只能拿到最后一条文档的标题,没法把所有文档标题分别放到独立的输入框里。咱们一步步来调整:

首先,先修正你SQL语句里的一个错误——JOIN用户表的时候,关联条件写错了,应该是i.user_id = u.user_id,而不是i.user_id = datat.item_number,不然查询大概率会出错。

接下来,修改PHP部分的逻辑:不要直接把查询结果的键值对赋值成单个变量,而是把所有文档标题收集到一个数组里,同时保存item标题和用户名(因为item_id=1对应的用户和item信息是唯一的,直接赋值就行)。

<?php
// 修正后的SQL语句
$sql = "SELECT i.item_title, d.document_title, u.user_name 
        FROM items as i 
        INNER JOIN documents as d ON i.item_id = d.item_id 
        INNER JOIN users as u ON i.user_id = u.user_id 
        WHERE i.item_id = 1;";
$result = mysqli_query($db_server, $sql);

// 初始化变量:保存item标题、用户名,以及所有文档标题的数组
$item_title = '';
$user_name = '';
$document_titles = [];

while($row = mysqli_fetch_assoc($result)) {
    // 因为item_id固定为1,所以item_title和user_name每次循环都是相同的
    $item_title = $row['item_title'];
    $user_name = $row['user_name'];
    // 把每个文档标题添加到数组中,这样就能保存所有结果了
    $document_titles[] = $row['document_title'];
}
?>

然后是HTML部分,不要手动写三个输入框,而是通过循环$document_titles数组来自动生成对应的输入框——这样不管数据库里有多少条文档数据,都能准确生成对应数量的输入框。另外,记得用htmlspecialchars()转义输出内容,避免XSS攻击或者破坏HTML结构:

<form method="POST" action="updateItem.php">
    <p>
        <textarea name="item_title"><?php echo htmlspecialchars($item_title); ?></textarea>
    </p>
    <p>
        <input type="text" name="user_name" value="<?php echo htmlspecialchars($user_name); ?>" />
    </p>
    <!-- 循环文档标题数组,生成每个独立的输入框 -->
    <?php foreach($document_titles as $title): ?>
    <p>
        <input type="text" name="document_title[]" value="<?php echo htmlspecialchars($title); ?>" />
    </p>
    <?php endforeach; ?>
    <!-- 别忘了加提交按钮,不然没法提交表单哦 -->
    <p>
        <button type="submit">保存修改</button>
    </p>
</form>

如果你确实需要固定显示3个输入框(哪怕数据库里的文档数量不足3条),可以在PHP里补充数组元素,确保至少有3个值:

// 确保数组至少有3个元素,不足的补空字符串
while(count($document_titles) < 3) {
    $document_titles[] = '';
}

这样调整后,所有文档标题就能分别显示在独立的输入框里啦,再也不会被覆盖啦!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 11:59:29