简体   繁体   中英

PHP auto fill <select> Tag form data from database

I don't know if this is a duplicate question. But i just want to know how to auto fill my <option> tag with data form my database

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`)
)

My Database

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

Question : How do I auto fill my <option> with the names form the database table Names

This is a simple foreach problem.

<?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>

## I Am assuming here a sample database ##

<?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();
?> 

This is one approach you can do as you want you can create a separate function for this.

I dont know which database you are using as your question is unclear. I tried to give you idea how it could be works.

<?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>";
} 
?> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM