0

我通过 ajax 将一个 javascript 数组提交到另一个 php 页面,该页面运行一个查询并返回另一个数组。然后我想比较这两个数组并在文本文件中打印差异。下面给出的代码是创建一个没有数据的文本文件。

这是代码

 $('#tabletomodify').on('change','.street', 
        function (event) 
        {
                event.preventDefault();             
            var row=( $(this).closest('tr').prop('rowIndex') );
            var optionSelected = $("option:selected", this);
                var valueSelected = this.value;
            var ideSelected= this.id;               
            var values = '[';               
            values+=valueSelected+",";              
            for ($i=3;$i<row;$i++)
            {
                var dv="selectcity"+$i;
                var dv1=document.getElementById(dv).value;
                var sl="street"+$i;
                var sl1=document.getElementById(sl).value;
                var po="building"+$i;
                var po1=document.getElementById(po).value;
                var concat=dv1+sl1+po1;                 
                values+=''+concat+',';                  
            }
            values = values.substring(0,values.length-1);               
            values += ']';                              
            $.ajax({
             url: "get_buildings.php",
                 type: 'POST',               
                 data:  {data: values} ,
                 success: function(){
                alert("Success!")
                }
            });

发送到 get_buildings.php 的值是

[newyork::roosevelt st,springfieldevergreen terraceno42,quahogspooner streetno43]

php代码get_buildings.php:-

    $a1='newyork::roosevelt st';
    $sl= explode("::",$a1);
    $a=$sl[1];

    $connection_buildings= mysqli_connect('localhost', 'xxxx', 'xxxx', 'DETAILS') or die ('Cannot connect to db');
    $sql_query_3 = "select buildings from $a";
    $result_query_3=mysqli_query($connection_buildings,$sql_query_3) or die ("check it");

    $options=array();
    while ($row = $result_query_3->fetch_assoc()) 
    {
      $name = $row['buildings']; 
      $val=$a.$sl[0].$name;  
       array_push($options,$val);
    }

    $result = array_diff($_POST['data'], $options);
    $fp = fopen("textfile.txt", "w");
    fwrite($fp, $result);
    fclose($fp);
    mysqli_close($connection_buildings);
4

0 回答 0