在PHP中选择下拉值时显示文本框值
我一个月前才学会PHP,所以现在我被困了几天,但无法解决它。我有一个1表2列的数据库。我想在PHP中将列1的值带到下拉列表中(我做到了!),但我还想在选中下拉列表值的情况下显示列2的值 示例:如果下拉列表值current为1011,则文本框自动获取值“News”。但是我的代码永远不会返回文本框的值作为下拉列表的第一个值!!!在文本框中返回值之后,它总是返回到下拉列表中的第一个值,而不是保留我想要选择的值。有人能帮我复习一下这个问题吗?谢谢大家!在PHP中选择下拉值时显示文本框值,php,html,mysql,drop-down-menu,textbox,Php,Html,Mysql,Drop Down Menu,Textbox,我一个月前才学会PHP,所以现在我被困了几天,但无法解决它。我有一个1表2列的数据库。我想在PHP中将列1的值带到下拉列表中(我做到了!),但我还想在选中下拉列表值的情况下显示列2的值 示例:如果下拉列表值current为1011,则文本框自动获取值“News”。但是我的代码永远不会返回文本框的值作为下拉列表的第一个值!!!在文本框中返回值之后,它总是返回到下拉列表中的第一个值,而不是保留我想要选择的值。有人能帮我复习一下这个问题吗?谢谢大家! <?php $con=mysqli_
<?php
$con=mysqli_connect("localhost","root","","my_database_exam"); //connect to my database
mysqli_set_charset($con,"utf8"); //set UTF8 for my database
if(isset($_POST["id_type"])) { //check for the action of select value
$id_theloai=$_POST["get_id_type"];
$ten="SELECT * FROM theloai WHERE ID_TheLoai='".$get_id_type."'";
$kqten=mysqli_query($con,$ten);
while($rowten=mysqli_fetch_array($kqten)) {
$tenresult=$rowten[1];
}
}
?>
<form method="POST" action="park.php">
<label>TYPE OF NEWS</label>
<select onchange="this.form.submit()" name="id_type">
<?php
$sl="SELECT * FROM theloai";
$result=mysqli_query($con,$sl);
while ($row=mysqli_fetch_array($result)) {
echo '<option value="'.$row[0].'">'.$row[0].'</option>';
}
?>
</select>
<br>
<input type="text" name="" value="<?php if(isset($_POST["id_type"])) echo $tenresult; ?>">
</form>
<?php mysqli_close($con);?>
(抱歉英语不好)
将post值指定为$id\u theloai=$\u post[“get\u id\u type”]
但是您在查询中使用了$get\u id\u type
。。。应该是:
$get_id_type=$_POST["get_id_type"];
警告:使用mysqli
时,您应该使用和将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将$\u POST
、$\u GET
或任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能非常有害。哪里定义了$GET\u id\u type
?为什么$id\u theloai
被定义但没有被使用?听起来像是未定义的索引/变量对我来说是的,这是我的错。但在修复了所有这些之后,它仍然不能正常工作。当我选择并没有在文本框中显示第一个值时,它仍然没有在下拉列表中保留值!(抱歉英语不好)如果您检查isset($\u POST[“id\u type”])
并存储$\u POST[“get\u id\u type”]
,则应使用与在选择中设置的名称相同的键:
$get_id_type=$_POST["get_id_type"];