gpt4 book ai didi

php - 从 MYSQL 数据创建数组,以使用准备好的语句显示为复选框值

转载 作者:行者123 更新时间:2023-11-29 15:28:42 25 4
gpt4 key购买 nike

我有一个包含用户名的 MYSQL 表。我想将其放入一个数组中,并以一系列复选框的形式呈现,供用户选择。

下面的代码适用于表中的第一个值,如果我创建一个数组(不从 MYSQL 表中提取),那么它会显示所有值。我错过了什么?

功能:

function checkbox2( $name, $id, $label, $array_name = array() ) {?>
<div class="form-group">
<p><?php echo $label; ?></p>
<?php foreach ( $array_name as $value => $title ) : ?>
<label class="checkbox-inline" for="<?php echo $id; ?>">
<input type="checkbox" name="<?php echo $name; ?>[]" value="<?php echo $title; ?>" <?php isset($_SESSION[$name]) ? checked($title, $_SESSION[$name]) : ''; ?>>
<span class="checkbox-title"><?php echo $title; ?></span>
</label>
<?php endforeach; ?>
</div>

function array_name() {
// Connect to database
$conn = db_connect();

// Prepare and bind
$stmt = $conn->prepare("SELECT user_name FROM usernames");

// Execute and bind result;
$stmt->execute();
$response = $stmt->get_result();
$array_name = $response->fetch_array(MYSQLI_ASSOC);

return $array_name;
}

index.php

<?php $array_name = array_name(); ?> 
<form action="pageprocessresults.php" method="post">
<? checkbox2( 'user_name', 'user_name', 'Select name', $array_name ); ?>
<? submit('Go To Step 2 &raquo;'); ?>

最佳答案

根据您的评论,从数据库获取仅返回第一个条目,因为您没有循环数据库结果。

尝试按如下方式实现 pdo

function array_name(){
$conn = new PDO('mysql:host='.$yourhost.';dbname='.$yourdb.'', $dbuser, $dbpass);
$stmt = $conn->prepare("SELECT user_name FROM usernames");
$stmt->execute();
while($res = $stmt->fetch(PDO::FETCH_ASSOC)){
$response[] = $res;
}
return $response
}

关于php - 从 MYSQL 数据创建数组,以使用准备好的语句显示为复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58891479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com