所以我目前在使用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
}
?>
感谢您寻求帮助,感谢您的帮助!
答案 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'])"
有关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){
}