【问题标题】:how to create arrays with prepare statment and while loop?如何使用准备好的语句和 while 循环创建数组?
【发布时间】:2018-04-15 21:07:48
【问题描述】:

我正在尝试创建一个无法列出项目的更新页面 这是那个问题 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; ?>">

【问题讨论】:

  • 你想把所有的名字放在一个文本框中吗?
  • 是的,从数据库中选择并以返回和更新记录的形式列出它们
  • 如果您将它们全部放在一个文本框中,之后将很难进行更新,因为您将返回一个包含多个值的变量。您确定不希望它们出现在多个文本框中,每个名称都在一个单独的框中吗?这样用户就可以轻松查看、理解和编辑,并在提交代码时更轻松地处理您的代码。

标签: php mysqli while-loop


【解决方案1】:

在你结束你的while循环之后

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

之后,您可以像这样将该字符串放入输入中:

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

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

【讨论】:

  • 那是我编码的正确方式吗?为什么要使用 implode ?
  • implode 将您的 $names 数组转换为字符串,因此您可以将其用作输入字段中的值
  • 以为我不需要对我的数组类型使用 implode 吗?如果我像 $array= array("implode()","function","test","test1."); print_r($array);
  • 你能编辑你的帖子,并在你的 值中放一个明文示例,说明你不想要的内容
  • 你的问题:My question is how to create array with while and use it in inputs ? 完全是我的回答,我不知道你还想要什么......
猜你喜欢
  • 2012-07-07
  • 2012-08-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-05
  • 1970-01-01
  • 2018-08-29
  • 1970-01-01
相关资源
最近更新 更多