PHP - 搜索将sql数据放入"选项"的方法HTML中的标记

时间:2018-01-26 13:30:28

标签: php html sql

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

所以,我正在寻找一种方法,使用SQLHTMLPHP显示数据。 我想在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;
} 
?>

但问题是只有一个项目显示在选项中,其他项目只显示为文本。 提前感谢您的回答。

3 个答案:

答案 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>