如何使用prepare statment和while循环创建数组?

时间:2018-04-15 21:07:48

标签: php mysqli while-loop

我正在尝试创建更新页面无法列出项目 这是那个问题 Cant list item values in inputs in update page

我的问题是如何用while创建数组并在输入中使用它?

这里我想做什么,不确定我做得对吗

<?php 
        $sql = "SELECT * FROM items WHERE item_id = ? AND user_id = ?";
        if($stmt = $conn->prepare($sql)){
            $stmt->bind_param("ii", $param_item_id, $param_user_id);
            $param_item_id = $item_id;
            $param_user_id = $user_id;
            if($stmt->execute()){
                $result = $stmt->get_result();
                if($result->num_rows == 0){
                    while($row = $result->fetch_assoc()) {
                          $ids[] = $row['item_id'];
                          $names[] = $row['item_name'];
                          $titles[] = $row['item_title'];
                          $images[] = $row['item_image'];
                    } else {
                        echo "no items found";
                      }
                }
            }
        }   
?>

I want to get values from table with the query and use them in inputs 


         <input type="text" name="item_name" class="form-control" value="<?php echo $names; ?>">        
<input type="text" name="item_name" class="form-control" value="<?php echo $item_titles; ?>">
         <input type="text" name="item_name" class="form-control" value="<?php echo $images; ?>">

1 个答案:

答案 0 :(得分:0)

结束你的while循环后你做了

$names = implode(', ', $names);

之后你可以把这个字符串放在输入中,如下所示:

<input type="text" name="item_name" class="form-control" value="<?=$names ?>"> 

这是一个很好的逗号分隔列表,其中包含输入字段中所有提取的名称。