idy Posted September 12, 2006 Share Posted September 12, 2006 Hello to you all ! I would need your advice and suggestions on how to build the following code. Please note that I am not specifically asking for the full code (!) but I am struggling to get the concepts all perfectly right. 1. The user enters keywords in a search bar. That's easy ; 2. The corresponding data is retrieved from a database through a standard PHP query. That's OK for me ; 3. Now imagine there is a checkbox next to the search bar, allowing the user to filter the results in step 2 according to the checkbox's criteria. How can I automatically hide or highlight the filtered results without making a new query and without reloading the whole page ? I guess there is some javascript / ajax trick there... In detail :[1] Table contents : Column A | Column B car | blue car | red car | blue truck | blue truck | red truck | green [2] Search bar : looks into column A, and displays results in the following format : if "car" is sought for : car | blue car | red car | blue [3] Now imagine there is a checkbox beneath the search bar, allowing the user to select a colour between red, blue and green (or a combination if more than one checked). I have tried to give the same ID (=colour) for each row returned in [1], and then put nothing in the div when a checkbox was unchecked. However, this does not work out (only the first match is hidden) because IDs are unique. Please remember I am trying to automatically update the results table without refreshing the whole page. Thanks a lot for your help in step [3]. Quote Link to comment https://forums.phpfreaks.com/topic/20499-hiding-specific-results-from-a-query/ Share on other sites More sharing options...
ToonMariner Posted September 12, 2006 Share Posted September 12, 2006 you could use the checkbox to form the query string. Using an if statement you could add...[code]$qry = "SELECT * FROM `table` WHERE `cala` LIKE '%".$term1."%'";if ($_post['chkbx1'] === true){$qry .= "AND `colb` = 'ur criteria';}//.... and so on.?>[/code] Quote Link to comment https://forums.phpfreaks.com/topic/20499-hiding-specific-results-from-a-query/#findComment-90360 Share on other sites More sharing options...
idy Posted September 12, 2006 Author Share Posted September 12, 2006 Thanks for your quick answer, but I am not sure your solution prevents me from running the query over again.My point was actually that once the query is run the first time, any further filter by the user (through a checkbox for instance) should select a subset of the initial results, and non-relevant results should be hidden dynamically (without refreshing the whole page). Is this clear ?Thanks a lot. Quote Link to comment https://forums.phpfreaks.com/topic/20499-hiding-specific-results-from-a-query/#findComment-90371 Share on other sites More sharing options...
ToonMariner Posted September 12, 2006 Share Posted September 12, 2006 No..You run the query once but use the check buttons to formulate the string before you run it......eg.[code]<?php$searchname = $_GET['sname'];$qry = "SELECT * FROM `people` WHERE `surname` LIKE '%" . $searchname . "%'";if (isset($_GET['chksex']){ if ($_GET['chksex'] == 'male') { $qry . = " AND `sex` = 'm'"; } else { $qry . = " AND `sex` = 'f'"; }}$search = mysql_query($qry);?>[/code]The above code would search for the name you entered and if you checked one (or both) the boxes for sex it would add the criteria to the query BEFORE the query is executed. Quote Link to comment https://forums.phpfreaks.com/topic/20499-hiding-specific-results-from-a-query/#findComment-90411 Share on other sites More sharing options...
HuggieBear Posted September 12, 2006 Share Posted September 12, 2006 It can be jone in Ajax, but it doesn't stop the query being resent, it just stops the page from being refreshed.RegardsRich Quote Link to comment https://forums.phpfreaks.com/topic/20499-hiding-specific-results-from-a-query/#findComment-90424 Share on other sites More sharing options...
idy Posted September 12, 2006 Author Share Posted September 12, 2006 OK cool, thanks to you both. Quote Link to comment https://forums.phpfreaks.com/topic/20499-hiding-specific-results-from-a-query/#findComment-90448 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.