php - How to search in an output generated by a http request -


i using this api searching postcodes in range around it. generates automatic output when type in postcode (1234) example. it's using jquery autocomplete that.

now question. how can save output in session , search within session match of postcodes have in companydatabase?

my code looks this:

my form:

<form action="#" method="post" class="pro6pp_range">     <input type="text" class="postcode" placeholder="postcode (1234)" maxlength="4">       <select class="range">         <option value="5" selected="selected">5 km</option>         <option value="10">10 km</option>         <option value="15">15 km</option>         <option value="20">20 km</option>         <option value="25">25 km</option>       </select>       <br/><br/>     <span class="message"></span>     <div class="output"></div>     <br/> </form> 

my javascript:

<script type="text/javascript">   var pro6pp_auth_key = "my_auth_key";   $(document).ready(function() {     $(".pro6pp_range").applyrange({ 'assemble_func': assemble_one });     function assemble_one(result) {         distance_km = math.round(result.distance / 1000);         return "afstand tot " + result.nl_fourpp + " " +          distance_km + " km vanaf uw locatie.<br />";     }   }); </script> 

range.js:

// create closure keep namespace clean , hide implementation. (function($) {     $.fn.applyrange = function(options) {         var instance = this;          function getconfig(field, default_value) {             if (typeof options === 'undefined' ||                 typeof options[field] === 'undefined') {                 return default_value;             } else {                 // developer chose specify form field manually.                 return options[field];             }         }          instance.postcode = getconfig('postcode', instance.find('.postcode'));         instance.range = getconfig('range', instance.find('.range'));           instance.message = getconfig('message', instance.find('.message'));         instance.spinner = getconfig('spinner', instance.find('.spinner'));         instance.output = getconfig('output', instance.find('.output'));          instance.distance = getconfig('distance', instance.find('.distance'));         instance.lat = getconfig('lat', instance.find('.lat'));         instance.lng = getconfig('lng', instance.find('.lng'));         instance.nl_fourpp = getconfig('nl_fourpp', instance.find('.nl_fourpp'));          instance.assemble_func = getconfig('assemble_func', assemble_one);          instance.postcode.keyup(function() {             range(instance);         });      };      var pro6pp_cache = {};     function pro6pp_cached_get(obj, url, params, callback) {         var key = url + $.param(params);         if (pro6pp_cache.hasownproperty(key)) {             if (typeof callback !== 'undefined') {                 callback(obj, pro6pp_cache[key]);             }         } else {             $.getjson(url + "?callback=?", params, function(data) {                 pro6pp_cache[key] = data;                 if (typeof callback !== 'undefined') {                     callback(obj, data);                 }             });         }     }      function getapibaseurl() {         // use https api if website secure.         // otherwise, browsers might complain insecure content.         if ("https:" === document.location.protocol) {             return 'https://pro6pp.appspot.com/v1';         } else {             return 'http://api.pro6pp.nl/v1';         }     }      function range(obj) {         obj.message.hide().empty();         var postcode = obj.postcode.val();         var range = obj.range.val();         // trigger on '5408'         var nl_fourpp_regex = /[0-9]{4,4}\s?/;         if (nl_fourpp_regex.test(postcode)) {             var url = getapibaseurl() + "/range";             var params = new object();             params.auth_key = pro6pp_auth_key;             params.per_page = 100;             params.nl_fourpp = postcode;             // user puts in range in kilometers, api uses meters.             range = parseint(range, 10) * 1000;             params.range = range;             pro6pp_cached_get(obj, url, params, fillin);         }     }      function assemble_one(result) {         distance_km = math.round(result.distance / 1000);         return "afstand tot " + result.nl_fourpp + " " + distance_km + " km<br />";     }      function fillin(obj, json) {         if (json.status == 'ok') {             obj.output.empty();              var postcode = obj.postcode.val();             $.each(json.results, function(i, result) {                 if (result.nl_fourpp === postcode) {                     return true;                 }                 obj.output.append(obj.assemble_func(result)).show();             });             if (json.results.length > 1) {                           obj.distance.val(json.results[1].distance);                 obj.nl_fourpp.val(json.results[1].nl_fourpp);                 obj.lat.val(json.results[1].lat);                 obj.lng.val(json.results[1].lng);             } else {                 translated_message = 'geen resultaten gevonden';                 obj.message.html(translated_message).show();             }         } else {             var translated_message = json.error.message;             if (json.error.message == 'nl_fourpp niet gevonden') {                 translated_message = 'onbekende postcode';             } else if (json.error.message == 'invalid nl_fourpp format') {                     translated_message = 'ongeldig postcode formaat';             } else if (json.error.message == 'invalid target_nl_fourpps format') {                 translated_message = 'ongeldig target_nl_fourpps formaat';             }              obj.message.html(translated_message).show();         }     } })(jquery); 

i hope knows how save output request session/cookie.

if understood want, think when function done, have call ajax function send out put php script on server, save output in session , can processing want there.

function send_data_to_server(output) {     var postal_code=$('.postcode').val();     var url = 'http://kees.een-site-bouwen.nl/script.php?output='+output+'&postal_code='+postal_code;      $.ajax({         url : url,         success : function (data)         {             alert(data);         }     }); } 

and before return "afstand tot " + result.nl_fourpp + " " +distance_km + " km vanaf uw locatie.
";

put line of code:

  send_data_to_server(result.nl_fourpp); 

script.php

<?php       session_start();      $output=$_get['output'];      $_session['postal'][]=$output;      echo $output; ?> 

Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -