我已经使用数据库中的信息创建了此表,但现在我必须创建一个包含值的选择框,以便我只能显示名称。我应该使用 if 语句来执行此操作吗?
<?php
try {
$con = new PDO('mysql:host=localhost;dbname=snm', "root", "");
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "SELECT ID,Voornaam,Achternaam,Woonplaats,Postcode,Email,Social,Soort,Categoriebord,Categoriegame FROM gebruiker";
print "<table>";
$result = $con->query($query);
$row = $result->fetch(PDO::FETCH_ASSOC);
print " <tr>";
foreach ($row as $field => $value) {
print " <th>$field</th>";
}
print " </tr> ";
$data = $con->query($query);
$data->setFetchMode(PDO::FETCH_ASSOC);
foreach ($data as $row) {
print " <tr> ";
foreach ($row as $name => $value) {
print " <td>$value</td> ";
}
print " </tr> ";
}
print "</table> ";
} catch (PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
最佳答案
我对您的代码进行了一些修改,我添加了几个方法,这些方法将分别为您提供属性和具有值的属性
此方法将返回带有属性的值
function getValues($con, $query)
{
....
}
此方法只会获取属性
function getKeys($con, $query)
{
...
}
它将返回如下属性:
Array
(
[0] => ID
[1] => Voornaam
[2] => Achternaam
[3] => Woonplaats
[4] => Postcode
[5] => Email
[6] => Social
[7] => Soort
[8] => Categoriebord
[9] => Categoriegame
)
您可以显示索引如 <option value="$row[0]">$row[0]</option>
的属性对于属性 ID
我希望这对您有帮助,只需用此替换您的代码
function getKeys($con, $query)
{
$result = $con->query($query);
$row = $result->fetch(PDO::FETCH_ASSOC);
return array_keys($row); // This will fetch the keys from an array
}
function getValues($con, $query)
{
$data = $con->query($query);
$data->setFetchMode(PDO::FETCH_ASSOC);
return $data;
}
try {
$con = new PDO('mysql:host=localhost;dbname=snm', "root", "");
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "SELECT ID,Voornaam,Achternaam,Woonplaats,Postcode,Email,Social,Soort,Categoriebord,Categoriegame FROM gebruiker";
//Select Box
$data = getKeys($con, $query);
print '<select>';
foreach ($data as $row) {
print " <option value='".$row[0]."'>".$row[0]."</option>"; // ID
print " <option value='".$row[1]."'>".$row[1]."</option>"; // Voornaam
print " <option value='".$row[2]."'>".$row[2]."</option>"; // Achternaam
}
print '</select>';
//Title
print "<table>";
$array_keys = getKeys($con, $query);
print " <tr>";
foreach ($array_keys as $value) {
print " <th>$value</th>";
}
print " </tr> ";
//Values
$data = getValues($con, $query);
foreach ($data as $row) {
print " <tr> ";
foreach ($row as $name => $value) {
print " <td>$value</td> ";
}
print " </tr> ";
}
print "</table> ";
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
关于php - 如何仅显示从数据库中获取的数据的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56481682/