PHP 自动填充 来自<select>数据库的标记表单数据



我不知道这是不是一个重复的问题。但我只想知道如何用我的数据库中的数据自动填充我的<option>标签

CREATE TABLE `Users` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`Names` VARCHAR(50) NOT NULL DEFAULT '0',
`Suranme` VARCHAR(50) NOT NULL DEFAULT '0',
`Age` VARCHAR(50) NOT NULL DEFAULT '0'
PRIMARY KEY (`ID`)
)

我的数据库

<select name="Names">
<option value="1">Jhon</option>
<option value="2">Will</option>
<option value="3">Jack</option>
<option value="4">Adam</option>
</select>

问题:如何用数据库表Names中的名称自动填充<option>

这是一个简单的foreach问题。

<?php
$con = mysqli_connect('localhost','root','user','password');
$sql = 'SELECT * FROM Users';
$result = mysqli_query($con,$sql);
$names = mysqli_fetch_all($result, MYSQLI_ASSOC);
$i = 0;
?>
<html>
<body>
<form>
<select name="Names">
<?php foreach($names as $name):?>
<option value="<?php echo $i++; ?>"><?php echo $name['Names'];?></option>
<?php endforeach;?>
</select>
</form>
</body>
</html>

##我假设这里有一个示例数据库##

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT Names FROM Users";
$result = $conn->query($sql);
echo "<select name="Names">";
if ($result->num_rows > 0) {
// output data of each row
$i=1;
while($row = $result->fetch_assoc()) {
echo "<option value=$i>".$row["Names"]."</option>";
$i++;
}
echo "</select>";
} 
$conn->close();
?> 

这是一种你可以随心所欲的方法,你可以为此创建一个单独的函数。

我不知道你在用哪个数据库,因为你的问题不清楚。我试着让你知道它是如何运作的。

<?php           
$fetchname = "SELECT `Names` FROM `users`";
$fetched = mysqli_query($con,$fetchname);
while($row = mysqli_fetch_array($fetched,MYSQLI_ASSOC)){ ?> 
<select name="Names">
<option value=""><?php echo $row['names']; ?></option>
</select>
<?php } ?>
<?php
$db['db_host'] = 'localhost'; 
$db['db_user'] = 'root';
$db['db_pass'] = '';
$db['db_name'] = 'db';
foreach ($db as $key => $value) {
define(strtoupper($key), $value);
}
$conn = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
if(!$conn){
die("Unable to connect");
}
$sql_query = "SELECT Names FROM Users";
$result = mysqli_query($conn,$sql_query);
echo "<select name="Names">";
if (mysqli_num_rows($result)> 0) {
$i=1;
while($row = mysqli_fetch_array($result) {
echo "<option value=$i>".$row["Names"]."</option>";
$i++;
}
echo "</select>";
} 
?> 

最新更新