使用SQL和PHP填充HTML Select表单

时间:2013-11-26 16:14:47

标签: php html sql forms

所以我目前在使用PHP填充HTML表单上的select选项时遇到了一些困难。我需要让选择选项填充我的sql表中的数据,然后我需要将选择填充到sql中的不同表中。首先,我将描述我正在使用的sql表。这是我第一次使用PHP和SQL,所以如果代码完全关闭,请记住这一点。

注意,我可以毫无问题地连接到我的数据库

SQL数据: 表名=“所有动物” 列名=“组”

PHP代码:

$query = "SELECT *, dbo.All Animal.Group as allAnimal_Group
            LEFT JOIN dbo.All Animal on dbo.Response.animalGroup = dbo.All Animal.Group
            WHERE dbo.Response.animalGroup = %s";
    $db->query($query, $Group);
    $r = $db->fetch();

HTML和PHP代码:

                       <p>
                              <label for="animalGroup">Type</label>
                              <select name="Group" id="Group">
                                <option>Select a type:</option></select></p>
    <?php
    foreach($Group as $m)
    {
    ?>
        <option value="<?php echo $m['Group'];?>"><?php echo $m['animalGroup'];?></option>
    <?php
    }
?>

感谢您寻求帮助,感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您的下拉列表在php代码之前关闭。所以先编辑如下。

<p>
                              <label for="animalGroup">Type</label>
                              <select name="Group" id="Group">
                                <option>Select a type:</option>
    <?php
    foreach($Group as $m)
    {
    ?>
        <option value="<?php echo $m['Group'];?>"><?php echo $m['animalGroup'];?></option>
    <?php
    }
?>
</select></p>

对于问题的第二部分,将此代码放在html表单中,并在选择完成后将其提交给服务器。所以完整的代码将是

  <p>
<form action="your_file_name.php" method="post">

                                      <label for="animalGroup">Type</label>
                                      <select name="Group" id="Group">
                                        <option>Select a type:</option>
            <?php
            foreach($Group as $m)
            {
            ?>
                <option value="<?php echo $m['Group'];?>"><?php echo $m['animalGroup'];?></option>
            <?php
            }
        ?>
        </select>
<input type="submit" name="submitBttn" value="Submit">
</form></p>

在your_file_name.php文件中,写下此内容以检索选中的内容,

$_POST['Group']

然后你可以编写像"INSERT INTO table_name (column_name) VALUES ($_POST['Group'])"

这样的sql代码

有关html表单的更多内容,请阅读此内容... http://php.net/manual/en/tutorial.forms.php

答案 1 :(得分:0)

更新您的查询以使用LIKE而不是= sign来进行野生字符匹配

$query = "SELECT *, dbo.'All Animals'.Group as allAnimal_Group
            FROM dbo.'All Animals'
            LEFT JOIN dbo.'All Animals' on dbo.Response.animalGroup = dbo.'All Animals'.Group
            WHERE dbo.Response.animalGroup LIKE '%s'";

P.S你应该改变foreach使用 $ r 作为迭代器,因为你将数据库结果存储在$ r而不是 $ Group

foreach($r as $m){
}