从php html中的sql结果填充下拉列表中获取所选值
我已经在从php html中的sql结果填充下拉列表中获取所选值,php,html,Php,Html,我已经在php中填充了sql结果中的下拉列表,现在我正在尝试将所选值获取到同一页面中的php变量,但它不起作用。你能帮忙吗。下面是代码 <?php $mid="mario"; $sql = "SELECT * FROM tbl_prdy" ; $result = mysqli_query($conn,$sql); echo "<select name='list'>"; while ($row = mysqli_fetch_ar
php
中填充了sql
结果中的下拉列表,现在我正在尝试将所选值获取到同一页面中的php
变量,但它不起作用。你能帮忙吗。下面是代码
<?php
$mid="mario";
$sql = "SELECT * FROM tbl_prdy" ;
$result = mysqli_query($conn,$sql);
echo "<select name='list'>";
while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
echo "<option value='" . $row['col_of_fac'] . "'>" . $row['col_of_fac'] . "
</option>";
}
echo "</select>";
$varsel = $_POST['list'];
echo "hai";
echo $varsel;
?>
$varsel=$\u POST['list']代码>不起作用。您应该
1-使用表格
2-使用方法“POST”将变量发送到同一个文件
<?php
// display the errors
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<?php
// when the form submitted
if(!empty($_POST['list'])){
echo $_POST['list'];
}
?>
<?php
// connection test
$conn=mysqli_connect("localhost","user","pass","db"); //replace the (user, pass, db) with your parameters
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
die();
}
//if your connection succeded
$sql = "SELECT * FROM tbl_prdy" ;
$result = mysqli_query($conn,$sql);
?>
<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
<select name="list">
<?php while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)): ?>
<option value="<?= $row['col_of_fac']; ?>"><?= $row['col_of_fac']; ?></option>
<?php endwhile; ?>
</select>
<input type="submit" value="valider">
</form>
如果要打印所选值,而不是不带表单
然后必须使用jquery
<?php
// display the errors
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<?php
// when the form submitted
if(!empty($_POST['list'])){
echo $_POST['list'];
}
?>
<?php
// connection test
$conn=mysqli_connect("localhost","user","pass","db"); //replace the (user, pass, db) with your parameters
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
die();
}
//if your connection succeded
$sql = "SELECT * FROM tbl_prdy" ;
$result = mysqli_query($conn,$sql);
?>
<select name="list">
<?php while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)): ?>
<option value="<?= $row['col_of_fac']; ?>"><?= $row['col_of_fac']; ?></option>
<?php endwhile; ?>
</select>
<p id="value-selected"></p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(function(){
$("select[name=list]").on("change", function () {
var valueSelected = $(this).val();
$("#value-selected").html(valueSelected);
});
});
</script>
$(函数(){
$(“选择[name=list]”)。在(“更改”上,函数(){
var valueSelected=$(this.val();
$(“#选定值”).html(选定值);
});
});
$varsel=$\u POST['list'];他不工作了只有通过post方法提交表单时,它才有效
(使用当前代码时,将打印选择框,您将在不提交表单的情况下获取帖子)
逻辑应该是这样的
在表单中,选择框使用以下代码和用户选择并单击提交:
<?php
$mid="mario";
$sql = "SELECT * FROM tbl_prdy" ;
$result = mysqli_query($conn,$sql);
echo "<select name='list'>";
while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
echo "<option value='" . $row['col_of_fac'] . "'>" . $row['col_of_fac'] . "
</option>";
}
echo "</select>";
?>
提交以下表单后,应执行代码,并在网络控制台的页面标题中,您可以看到所需的数据是否已传输到请求的页面
请添加您的表格,以便我们可以帮助您更好地在insert query中发布您选择的姓名。@djac;结果是什么?“hai”和$varsel的值没有显示出来。我认为即使条件本身不起作用。仅供参考-下拉列表已填充。@djac请您解释一下……您到底在找什么?@bfahmi,它不工作,选定的值未显示。顺便问一下,我们为什么需要?@djac;您必须单击提交输入以接收$\u帖子;选择值后,单击“提交”,结果是什么?