On Fri, 2007-04-20 at 00:46 +0100, Kevin Walsh wrote: > mail <suppressed> wrote: > > I'm still having trouble with a search spec and I can't seem to solve > > it. This entire search-region is inside a loop which is also inside > > another loop. each loop has its own prefix. > > > > Here is my search spec: > > > > [search-region > > prefix=resources > > list_prefix=resources_list > > search=| > > fi=resources > > st=db > > co=1 > > sf=categorycode > > se=[scratch categorycode] > > op=eq > > nu=0 > > sf=topiccode > > se=[scratch topiccode] > > op=eq > > nu=0 > > sf=loscore > > se=[scratch score] > > op=<= > > nu=1 > > sf=hiscore > > se=[scratch score] > > op=>= > > nu=1 > > sf=inactive > > se=1 > > op=ne > > nu=0 > > ml=none > > |] > > > > here is a simplified view of my resources table: > > code categorycode topiccode loscore hiscore inactive > > 1 1 1 0 .2 0 > > 2 1 1 .3 .5 0 > > 3 1 1 .6 .8 0 > > 4 1 1 .9 1 0 > > 5 2 1 0 .2 0 > > 6 2 1 .3 .5 0 > > 7 2 1 .6 .8 0 > > 8 2 1 .9 1 0 > > > > If I set my scratch variables as follows: > > categorycode = 1 > > topiccode = 1 > > score = .0000001 > > I get what you would expect (row 1 only) > > > > If I set my scratch variables as follows: > > categorycode = 1 > > topiccode = 1 > > score = .3333 > > I get what you would expect (row 2 only) > > > > However, If I set my scratch variables this way: > > categorycode = 1 > > topiccode = 1 > > score = 0 > > I get rows 1, 2, 3, and 4. > > > > I have tried setting the loscore and hiscore fields in the database as > > various types including double, float, decimal, and even text. > > Does anybody have any ideas? > > > I find that it's much easier to just use SQL for anything other than > just a simple search. Perhaps you should consider using the [query] > tag instead. I'm sure you'll find it much easier to work with and > to get going. > > It doesn't sound too efficient to have loops nested in the way you've > described. You may be able to create a single SQL query that does the > whole job in one loop. > > I can't see anything too obvious in your search spec that I can point > at for you. Check that [scratch score] is indeed set to the value you > expect. Perhaps show the value on your page to debug it. Your > "inactive" spec should probably have op=!= and nu=1, but that's > irrelevant to your reported problem. I really would just use SQL. > Thanks for the advice. I have always stayed away from SQL and used the search thing because of it's nice way of paging the results. I make use of many of the features such as on-match, no-match, on-change, more-list etc.. I guess I will try using SQL for the outside loops and do more testing. At least its good to know that search spec looks OK. I will change that inactive thing... Thanks Rick _______________________________________________ interchange-users mailing list suppressed http://www.icdevgroup.org/mailman/listinfo/interchange-users
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.