Link to home
Start Free TrialLog in
Avatar of catonthecouchproductions
catonthecouchproductionsFlag for United States of America

asked on

Using jQuery and ajax to work with PHP sorting results

I am wondering if it is possible and how I would go about doing it if I wanted to use jQuery to sort with my PHP results on my page, does jQuery handle that?

http://critterclassifieds.net/?a=pets for this page
http://critterclassifieds.net/pets.phps - PHP code
Using something like this: http://docs.jquery.com/Ajax


Thanks so much in advance,

Ryan

Avatar of Joe Wu
Joe Wu
Flag of Australia image

What is your goal? You are wanting to sort your results dynamically?
Avatar of catonthecouchproductions

ASKER

I should have been more clear on my question, sorry. Yeah, sort them dynamically. I am using a small bit of ajax for my categories/subcategories for that page.
   Thank you,
     Ryan
I am not sure if you can use jquery explicitely, but you can use ajax to do this, quite simply you have to create a php script (which gets called upon by ajax) which sorts and returns the results from the database based on some argument, and you will need an onchange event for your selectionbox to call the ajax function which in turn calls the php script and returns then displays the result in some innerHTML of span or div.

Hope this helps in some way.
Alrighty, I see. Its more clear now. Makes much more sense. Kind of confused on how to start that up, let me try looking at some tutorials on google, I did that earlier and no go. I think you can do that with jQuery looking at the classes used, I think you are able to use them with that.

Ryan
Here is a general ajax function, which should get you started, hope you can understand this ok.

You will need to write your php script to communicate with this ajax function, hope this helps!
Its only an example, so feel free to change any values and modify to suit.


<script language="javascript" type="text/javascript">
function callAjax()
{
      var url = "test.php?user=myself"; // dummy, change to whatever your url and argument s going to be...
      ajaxQuery(url);
}

function ajaxQuery(url)
{
      var page_request = false;
     
      // If  the browser is Mozilla, Safari etc
      if (window.XMLHttpRequest)
      {
            page_request = new XMLHttpRequest();
      }
 
      // If the Browser is Internet Explorer
      else if (window.ActiveXObject)
      {
            try
            {
                  page_request = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                  try
                  {
                        page_request = new ActiveXObject("Microsoft.XMLHTTP");
                  }
                    catch (e){}
            }
      }
      else { return false; }
       
      page_request.open('GET', url, true);
     
      // When request is Ready
      page_request.onreadystatechange=function()
      {      
            if (page_request.readyState == 4 && page_request.status==200)
            {
                  document.getElementById('results').innerHTML = page_request.responseXML;
            }
      }
      if(window.XMLHttpRequest)
      {
            page_request.send(null);
      }
      else
      {
            page_request.send();
      }
}
</script>

<a href="#" onclick="callAjax();">click for Ajax</a><br><br>
<span id="results">This text is going to change after the ajax call...</span>
Okay, nice, let me try this out and mess with it, I might have some questions!

Thanks!
I am still kind of confused how I would work in my PHP to that? Working with the variables, etc.?
ASKER CERTIFIED SOLUTION
Avatar of MacAnthony
MacAnthony
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Okay nice, let me take a look at this and try it out. Do you think that that tutorial could work with what I am trying to do?
Yes, pretty close to what you need except since you only have 1 table cell, you will have to change the code for reading the values to sort.