PHP - 寻找一种将 sql 数据放入 HTML 中"option"标签的方法



首先,我将尽力向您解释我的问题所在。英语不是我的母语。其次,我刚刚开始学习php/html/sql

因此,我正在寻找一种使用 PHPHTML 中显示来自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>

相关内容

  • 没有找到相关文章

最新更新