Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态下拉列表中的后置值_Php_Jquery_Mysqli - Fatal编程技术网

Php 动态下拉列表中的后置值

Php 动态下拉列表中的后置值,php,jquery,mysqli,Php,Jquery,Mysqli,我有两个下拉列表,分别是main和sub。我试图发布一个两个dropdownlist的值,但每次我提交时,我都会在urldyna.php?main=2&sub=2&submit=submit中看到这个值,当我回显这些值时,什么都不会出现。我想在同一个页面中发布两个下拉列表的值,因为我将对该值进行查询 这是我的完整代码 dyna.php <body> <form id="form1" name="form1" action="<?php $_SERVER['PHP_

我有两个下拉列表,分别是main和sub。我试图发布一个两个dropdownlist的值,但每次我提交时,我都会在url
dyna.php?main=2&sub=2&submit=submit
中看到这个值,当我回显这些值时,什么都不会出现。我想在同一个页面中发布两个下拉列表的值,因为我将对该值进行查询

这是我的完整代码

dyna.php

<body>
    <form id="form1" name="form1" action="<?php $_SERVER['PHP_SELF']?>">
 Drop1
 <?php
    $mysqli = new mysqli("localhost", "root", "", "lists");
    $result = $mysqli->query("SELECT * FROM main_list GROUP BY id ORDER BY id");
    $option = '';
    while($row = $result->fetch_assoc())
    {
       $option .= '<option value = "'.$row['id_no'].'">'.$row['value'].'</option>';
    }
    ?>

     <select id="main" name="main">
     <option selected=selected>Choose</option>
       <?php echo $option; ?>
     </select>
    <div id="sublist"></div>

   <input type="submit" name="submit" value="Submit" />
</form> 
<script type="text/javascript">
$('#main').change(function(){
$.ajax({
url : 'secondlist.php',
data :{mainlist_id : $(this).val()},
dataType:'html',
type:'POST',
success:function(data){
$('#sublist').html(data);
}
});
});
</script>
</body>

选择
$('#main').change(function(){
$.ajax({
url:'secondlist.php',
数据:{mainlist_id:$(this.val()},
数据类型:'html',
类型:'POST',
成功:功能(数据){
$('#子列表').html(数据);
}
});
});
Secondlist.php

<?php
$out = $_POST['mainlist_id'];

    $mysqli = new mysqli("localhost", "root", "", "lists");
    $result1 = $mysqli->query("
    select 
        a.id, a.value, a.id_no, b.id, b.category, b.value
    from
    (select *
    from main_list) a 
    left outer join
    (select *
    from sub_list) b 
    on a.id_no=b.category
    WHERE a.id_no='$out'
    ");
    $option1 = '';

    while($row = $result1->fetch_assoc())
    {
        $option1 .= '<option value = "'.$row['category'].'">'.$row['value'].'</option>';
    }

    $output = 'Drop2 ';
    $output .= '<select name="sub" id="sub"  onchange="run()">';
    $output .= '<option value=" " disabled="disabled" selected="selected">Choose one</option>';
    $output .= $option1;
    $output .= '</select> ';
echo $output;
exit;
?>

将脚本放入。准备好jquery了吗

<script type="text/javascript">
$(document).ready(function(){
    $('#main').change(function(){
        $.ajax({
            url : 'secondlist.php',
            data :{mainlist_id : $(this).val()},
            dataType:'html',
            type:'POST',
            success:function(data){
                $('#sublist').html(data);
            }
        });
    });
});
</script>

$(文档).ready(函数(){
$('#main').change(function(){
$.ajax({
url:'secondlist.php',
数据:{mainlist_id:$(this.val()},
数据类型:'html',
类型:'POST',
成功:功能(数据){
$('#子列表').html(数据);
}
});
});
});

使用按钮提交表单时,如果未指定任何内容,则使用默认的GET方法。GET将formdata作为url编码的查询字符串附加到操作url

要使用HTTP POST提交数据,请使用表单属性
method=“POST”

如果要添加文件表单字段,请同时添加参数
enctype=“multipart/form data”

<form id="form1" name="form1" action="<?php $_SERVER['PHP_SELF']?>" method="post" enctype="multipart/formdata">
</form>

$(文件)。准备好了吗(
函数(){
$('表格1')。提交(
职能(a){
警报($('#form1').serialize());
a、 预防默认值();
})
})
备选方案11
备选案文12
备选案文13
选择14
选择21
备选案文22
选择23
选择24
只是一个简单的例子

dyna.php

首先在表单中添加方法

<form id="form1" name="form1" action="<?php $_SERVER['PHP_SELF']?>" method="post">
dyna.php中
更改jquery行
$('#sublist').html(数据)
$('#sub').html(数据)


注意SQL注入。

首先,您的操作不响应php\u self,请注意,您可以在操作中使用空字符串指向同一页面操作=“尝试:在Secondlist.php中打印($\u POST)和打印($\u GET)。可能您没有使用POST,而是使用GET…data:$('form1')。serialize();//请尝试对帖子发表评论,并提醒序列化的值,如果您想这样使用,请使用以下数据:{mainlist_id:$(this).find(':selected').val()},\n而不是数据:{mainlist_id:$(this).val()},首先祝您新年快乐,很抱歉响应太晚:)$(this.val()
s选择非输入框[textarea/input[type=text/password]因此,正常情况下不会显示“否”data@CatalinSterian你是什么意思,我不在tsatnd?下和$(“#main”)内。更改为select,this.val将给出我建议使用$(this)的select(下拉菜单)的所选项的值。find(“:selected”).val();只是为了确保他得到所看到的值…新年快乐:),我应该在哪里回应帖子的值?谢谢,同样感谢你。哪个帖子的值?我得到了,我得到了两个下拉列表的帖子值。
<form id="form1" name="form1" action="<?php $_SERVER['PHP_SELF']?>" method="post">
<select name="sub" id="sub"  onchange="run()">
 <option value="">Select</option>
</select>
<?php
    $out = $_POST['mainlist_id'];
    $mysqli = new mysqli("localhost", "root", "", "lists");
    $result1 = $mysqli->query("
    select 
        a.id, a.value, a.id_no, b.id, b.category, b.value
    from
    (select *
    from main_list) a 
    left outer join
    (select *
    from sub_list) b 
    on a.id_no=b.category
    WHERE a.id_no='$out'
    ");
    while($row = $result1->fetch_assoc())
    {
    ?>
        <option value = "<?php echo $row['category'];?>"><?php echo $row['value'];?></option>';
    <?php 
    }
?>