Need help on Nested Repeater. Need to limit queries.
Hey, I created a datalist with a nested repeater. In the nested repeater, I need to limit the amount of records shown (only 10 allowed). However, just limiting the second query into the dataset doesn't work, only grabs 10 records. So I need to figure out a way of only showing 10 results for each. Basically, let's say this is my setup:
category1
- 1
- 2
- 3
- 4
...
- 10
- 11
- 12
- 13
category2
- 1
- 2
- 3
- 4
...
- 20
- 21
- 22
- 23
category3
- 1
- 2
- 3
- 4
...
- 16
- 17
- 18
- 19
Now I need to limit each category to 10 rows only. There are about 22 categories and about 10,000 results. Obviously I need to do my best to just limit it to 220 results, not 10,000!! Any help will be grateful. Thank you.
SheSaidImaPregy
Veteran Poster
1,080 posts since Sep 2007
Reputation Points: 43
Solved Threads: 68
anyone have any suggestions? I suppose I can put a loop on and trully limit the amount per sub repeater, but that doesn't help the fact that my query will still return 10,000 results. This is especially worse as I am storing it in the cache to use in a dataset.
SheSaidImaPregy
Veteran Poster
1,080 posts since Sep 2007
Reputation Points: 43
Solved Threads: 68
anyone? this will help tons.
SheSaidImaPregy
Veteran Poster
1,080 posts since Sep 2007
Reputation Points: 43
Solved Threads: 68
It is dealt through a nested repeater. So the first repeater has no limits. It will show all 22-50 results needed. The second query (nested one), I would like to limit to 10 records per repeater. By limiting inside the query using LIMIT 10 or whatever, limits the results to all repeaters so that only 10 records are shown. So basically, this is what I want:
Category 1 Category 2 Category 3
1 result 1 result 1 result
2 result 2 result 2 result
3 result 3 result 3 result
4 result 4 result 4 result
.........
9 result 9 result 9 result
10 result 10 result 10 result
'' However, with retrieving the results it will display all. So with 10,000 results, you can imagine how big of a list it would be. By limiting the inner query to 10, it will bind 4 results to category 1, 3 to category 2, 3 to category 3. I have put a loop on currently that limits the amount of records to 10 per category, but the query will still return 10,000 results, and store all 10,000 in the dataset. If you still need my code, just ask for it once more and I will put it up!
SheSaidImaPregy
Veteran Poster
1,080 posts since Sep 2007
Reputation Points: 43
Solved Threads: 68
yes i am using the itemdayabound method. could you explin please, and does it help against quering 10,000 rows when only 220 are needed?
SheSaidImaPregy
Veteran Poster
1,080 posts since Sep 2007
Reputation Points: 43
Solved Threads: 68
Nope, makes perfect sense. The server is in the same building as the mysql server, so that is fine. I would just hate to tap the database.. 25 times instead of once.. you know? But if tapping the database 25 times and only retreving a total of 275 records compared to 10,000 (at the moment, but later above 100,000), the difference might be huge. Thanks.
SheSaidImaPregy
Veteran Poster
1,080 posts since Sep 2007
Reputation Points: 43
Solved Threads: 68
Are you also getting the category information with your query result? If you are, you could select TOP 10 record of each category and use the foreach method to filter out the categories and populate your nested repeater.
In ASP.NET this seems a bit difficult, but in PHP this problem could be resolved without having to pre-filter your result.
justapimp
Junior Poster in Training
87 posts since Sep 2007
Reputation Points: 11
Solved Threads: 1
there are two queries, one pulls the category names and the category ID's. The second query pulls all records that relate to any of those ID's. It seems impossible, at this moment, at least with the current method I am using.
SheSaidImaPregy
Veteran Poster
1,080 posts since Sep 2007
Reputation Points: 43
Solved Threads: 68
For this, just update your query to select the top 5 results ...
SELECT TOP 5 Category.Cat....
This way it has only 5 records and is limited.
SheSaidImaPregy
Veteran Poster
1,080 posts since Sep 2007
Reputation Points: 43
Solved Threads: 68