2017-03-13 88 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>'; 
?>