首先,我将尽力向您解释我的问题所在。英语不是我的母语。其次,我刚刚开始学习php
/html
/sql
。
因此,我正在寻找一种使用 PHP
在 HTML
中显示来自SQL
的数据的方法。我想在option
标签中显示数据。就像一个国家select
形式。这是我的主要文件,它是一个.php
文件
<html>
<body>
<h1></h1>
<form method="get" action="deptoreg.php"</form>
<select name='nom'>
<?php
$reg=getRegion();
foreach ($reg as $item):
?>
<option class="reg"><?= $item['id'] ?> - <?= $item['region'] ?></option>
</select>
<?php endforeach; ?>
<input type="submit" name="submit" value="send" />
<footer if="foot">Site réalisé en PHP, HTML5 et CSS par Victor Lehouck</footer>
</body>
</html>
这是我调用的另一个 php 文件来获取函数
<?php
function display_reg()
{
$region = departement_to_region();
echo ($region);
}
function getDatabase()
{
$bdd = new PDO('mysql:host=localhost;dbname=container_db;charset=utf8',
'root', '', array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
return $bdd;
}
function get_departement()
{
$var = $_GET['nom'];
$bdd = getDatabase();
$dep=$bdd->prepare("SELECT departements, region_id_region FROM departement
WHERE departements = ?");
$dep->execute(array($var));
$data=$dep->fetch();
$id = $data[1];
return $id;
}
function departement_to_region()
{
$bdd = getDatabase();
$id = get_departement();
$reg=$bdd->prepare("SELECT departement FROM region WHERE id_region = ?");
$reg->execute(array($id));
$data_reg=$reg->fetch();
$ret = $data_reg[0];
return $ret;
}
function getRegion()
{
$bdd = getDatabase();
$result= $bdd->query('SELECT id_region AS id, departement AS region FROM region ORDER BY region');
return $result;
}
?>
但问题是选项中只显示了一个项目,而其他项目只是在之后显示为文本。提前感谢您的回答。
切换以下行:
</select>
<?php endforeach; ?>
这边:
<?php endforeach; ?>
</select>
此外,您过早关闭form
:
<form method="get" action="deptoreg.php"</form>
正确的代码:
<form method="get" action="deptoreg.php">
并在最后一个input
之后添加结束标签</form>
你的表单应该看起来像这样
<form method="get" action="deptoreg.php">
<select name='nom'>
<?php
$reg=getRegion();
foreach ($reg as $item):
?>
<option class="reg" value="<?= $item['id'] ?>"> <?= $item['region'] ?></option>
<?php endforeach; ?>
</select>
<input type="submit" name="submit" value="send" />
</form>
你也可以试试这个,希望它会更有帮助。
<?php
$reg = getRegion();
foreach($reg as $item)
{
// append new option everytime the loop iterates.
$option .= "<option class='"reg"' value='".$item['id']."'>'".$item['region']."'</option>";
}
?>
<form method = "get" action = "deptoreg.php">
<select name="nom">
<?php if(isset($option)) echo $option; ?>
</select>
<input type="submit" name="submit" value="send" />
</form>