2017-03-13 47 views
0

我有困难从我的数据库返回到使用PHP的HTML窗体内的下拉菜单中的数据。连接到我的作品,似乎不是问题,但不会将数据从表格返回到下拉菜单。有任何想法吗?由于下拉菜单不填充我的HTML表单使用PHP脚本

<!DOCTYPE html> 
<html> 


<body> 
<?php 

try { 
$conn = new PDO("mysql:host=$localhost;dbname=dbname", "root", "password"); 
// set the PDO error mode to exception 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
echo "Connected successfully"; 
} 
catch(PDOException $e) 
{ 
echo "Connection failed: " . $e->getMessage(); 
} 

$sql = "SELECT team_name FROM team;"; 
$result = mysqli_query($query,$conn) or var_dump(mysqli_error()); 
?> 



<form action=""> 
First name:<br> 
<input type="text" name="firstname" value="First"> 
<br> 
Last name:<br> 
<input type="text" name="lastname" value="Last"> 
<br><br> 

<select name ="name" required> 
    <option selected disabled>--Select an option--</option> 

    <?php 
    while ($row = $result->fetch_array()) { 
    //echo "hi"; 
    $optionecho = "<option>" ; 
    $optionecho .= $row['team_name'] ; 
    $optionecho .= "</option>"; 
    print($optionecho) ; 
} ?> 

</select> 

+0

可以请'的var_dump($ optionecho);'打印出来,并告诉我们什么弹出之前 –

+0

尝试通过回声更换打印。并确保你的表格实际上有数据。 – Lambasoft

+0

使用$ row [0]而不是$ row ['team_name']] –

回答

0

您正在使用PDO这样更好地利用下面的代码来查询数据:

try { 
$conn = new PDO("mysql:host=$localhost;dbname=dbname", "root", "password"); 
// set the PDO error mode to exception 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
echo "Connected successfully"; 
} 
catch(PDOException $e) 
{ 
echo "Connection failed: " . $e->getMessage(); 
} 

$sql = "SELECT team_name FROM team;"; 
?> 
<form action=""> 
First name:<br> 
<input type="text" name="firstname" value="First"> 
<br> 
Last name:<br> 
<input type="text" name="lastname" value="Last"> 
<br><br> 

<select name ="name" required> 
    <option selected disabled>--Select an option--</option> 

    <?php 
    foreach ($conn->query($sql) as $row) { 
    //echo "hi"; 
    $optionecho = "<option>" ; 
    $optionecho .= $row['team_name'] ; 
    $optionecho .= "</option>"; 
    print($optionecho) ; 
} ?> 
</select> 
</form> 
0

给这一个镜头在你的脚本:

while($row = $result->fetch(PDO::FETCH_ASSOC)){ 
    $option = "<option>"; 
    $option .= $row["team_name"]; 
    $option .= "</option>"; 

    echo $option; 
} 

或者:

<?php while($row = $result->fetch(PDO::FETCH_ASSOC)){ ?> 
    <option><?= $row["team_name"]; ?></option> 
<?php } ?> 
0
<?php 

$dbh = new PDO('mysql:host=localhost;dbname=populatedropdown', "root", ""); 

$query = $dbh->query("select * from position"); // Run your query 

echo '<form action="populate.php" method="get">'; 
echo '<select name="populate">'; // Open your drop down box 

echo '<option value="1">Select</option>'; 

// Loop through the query results, outputing the options one by one 
while ($row = $query->fetch(PDO::FETCH_ASSOC)) { 
    echo '<option value="'.$row['id'].'">'.$row['name'].'</option>'; 
} 

echo '</select>';// Close your drop down box 


echo '<input type="submit" name="edit" value="Edit">'; 

echo '</form>'; 
?>