0

I am submitting a javascript array to another php page via ajax which runs a query and returns another array. Then i would like to compare these two arrays and print the difference in a text file. The code give below is creating a text file with no data in it.

Here is the code

 $('#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!")
                }
            });

the value sent to the get_buildings.php is

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

Php code 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);
3
  • If you're sending [newyork::roosevelt st,springfieldevergreen terraceno42,quahogspooner streetno43] like you say, that isn't valid JSON. Also, your question wouldn't be clear even if you were sending valid JSON. What is your definition of "different" between two arrays? Is it based on keys? Is it based strictly on values? You don't show what your SQL array looks like. Commented Dec 11, 2013 at 9:26
  • this is what i meant by array difference [is2.php.net/array_diff] i.e strictly based on values. here is my sql array:- Array ( [0] =>springfieldevergreen terraceno42,[1] =>quahogspooner streetno43) Commented Dec 11, 2013 at 9:56
  • possible duplicate of Doing a "Diff" on an Associative Array in javascript / jQuery? Commented Jan 31, 2014 at 23:22

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.