首先,我会尽力向您解释我的问题所在。英语不是我的母语。其次,我刚开始学习php
/ html
/ sql
。
所以,我正在寻找一种方法,使用SQL
在HTML
中PHP
显示数据。
我想在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;
}
?>
但问题是只有一个项目显示在选项中,其他项目只显示为文本。 提前感谢您的回答。
答案 0 :(得分:3)
切换这一行:
</select>
<?php endforeach; ?>
这样:
<?php endforeach; ?>
</select>
你也过早关闭form
:
<form method="get" action="deptoreg.php"</form>
正确的代码:
<form method="get" action="deptoreg.php">
在最后</form>
input
答案 1 :(得分:1)
你的表格应该是这样的
<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>
答案 2 :(得分:0)
你也可以尝试一下,希望它会更有帮助。
<?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>