Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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
Javascript 通过POST请求ajax和jQuery从多阵列运行forloop_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 通过POST请求ajax和jQuery从多阵列运行forloop

Javascript 通过POST请求ajax和jQuery从多阵列运行forloop,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,现在我想做的是,我收到了学生的id,现在我需要将其传递到下面的php页面,但是当我收到这个数组之后是脚本 <script type="text/javascript"> $(document).ready(function(){ $('#emailIds').on('change',function(){ var stuemID = $(this).val(); // alert(stuemID); console.l

现在我想做的是,我收到了学生的id,现在我需要将其传递到下面的php页面,但是当我收到这个数组之后是脚本

<script type="text/javascript">
    $(document).ready(function(){
    $('#emailIds').on('change',function(){
        var stuemID = $(this).val();
        // alert(stuemID);
         console.log(stuemID);
        if(stuemID){
            $.ajax({
                type:'POST',
                url:'getDetails.php',
                data:'semid='+stuemID,
                success:function(html){
                        //alert('Done');
                    //$('#alerttrig').hide();
                }
            });
        }else{
            alert('Please choose atleast one student to view data.');
            //$('#alerttrig').show();
        }
    });
});
</script>

<?php
    require_once 'connectivity.php';
    //print_r ($_POST['semid']);
    //exit;
    $semid = explode(',',$_POST['semid']);
        //print_r ($semid);
        //exit;
    foreach ($semid as $emid){
        //echo $emid;
        print_r ($emid);
        exit;
        if (isset($emid) & !empty($emid)){ 
            $query="SELECT *, COUNT(*) AS count FROM test_schedule ts
                                                JOIN students s ON s.id=ts.student_id
                                                JOIN students_validity sv ON sv.student_id = s.id
                                                WHERE s.id='$emid' AND ts.exam_id != 76 AND ts.exam_id != 75 AND ts.exam_id != 83 AND ts.exam_id != 84 
                                                GROUP BY ts.student_id
                                                HAVING COUNT(*) > 1
                                                ORDER BY s.id ASC";
                                                print_r ($query);
                                                exit;
        $qryexec=mysqli_query($connect,$query);
        //Count total number of rows
        if (mysqli_num_rows($qryexec) > 0){
            while($row = mysqli_fetch_assoc($qryexec)){
                echo '<scrtip type="text/javascript">';
                echo 'alert('.$row['name'].')';
                echo '</script>';
            }
        }
        else{
             echo 'Something went wrong.!';
        }   
    }
    }
    ?>

因此,现在我想转换数组,并使其在forloop中可访问,并显示通过查询执行接收到的数据警报

查看文件

<html>
<head>
  <title></title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
</head>
<body>
<select multiple="multiple" name="emailIds[]" id="emailIds" tabindex="2" class="select-multiple">

                                        <option value="">Select Student</option>

                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>

                                    </select>
</body>
</html>





<script type="text/javascript">
    $(document).ready(function(){
    $('#emailIds').on('change',function(){
        var stuemID = $(this).val();
        if(stuemID){
            $.ajax({
                type:'POST',
                url:'getDetails.php',
                data: { semid : stuemID },
                success:function(data){
                        alert(data);
                }
            });
        }else{
            alert('Please choose atleast one student to view data.');
            //$('#alerttrig').show();
        }
    });
});
</script>
getDetails.php

<?php 

    foreach($_POST['semid']  as $semval){

        // Do the code you need
            echo $semval.' ';

    }
    exit();

 ?> 

输出在选择和多选时获得警报:

我不清楚您的意思。你说的这个阵列具体在哪里?你想用它做什么?你试过什么,怎么不起作用?客户端成功回调中的html变量中有什么?我基本上有两个问题我想把通过查询执行收到的值作为警报ii作为我分解的POST变量,我想要一个forloop,它将通过脚本数组[0]=>1[1]=>2在每个id推送上运行我对此感到困惑,我只想触发两件事,一个是当用户选择一个项目或从下拉列表中逐个选择“我的查询应该工作”时,第二个是当执行查询时,他选择的值将显示一个警报,其中行值在查询运行>选择学生?>foreach之后执行$semid为$emid{//echo$emid;print_r$emid;exit;如果设置为$emid&!emid为空{$query=SELECT,从测试计划中计数ts在s.id上加入学生s=ts.student\U id在sv.student\U id=s.id上加入学生sv有效性sv,其中s.id='$emid'和ts.exam\U id!=76和ts.exam\U id!=75,ts.exam\U id!=83和ts.exam\U id!=84,按ts.student\U id分组,计数*>1ORDER BY s.id ASC;print\r$query;exit;$qryexec=mysqli\u query$connect$query;我仍然没有达到我想要的效果。它只触发第一个值,甚至没有移动到第二个值。