Monks,
I'm searching a database of messages. Each message has a unique ID but also has a threadID to track conversations. If I search by username, the user may have 128 rows (messages) in the database each with it's own unique ID, but there may only be 8 different threadIDs as each thread may have several messages in it.
The only thing I could think of to do was to create a $threadIDlist. Each time I loop through I check the threadIDlist to see if the current threadID is on the list. If it is, I skip it otherwise I print that row then add the current threadID to the list. There must be a better way to do this but this is where I am:
$rows=$sth->rows;
while (($pointer = $sth->fetchrow_hashref) && ($current_count
+_all <= $stopcount_all)){
$threadID = $pointer->{'threadID'};
if ($threadIDlist !~ /$threadID/) {
$threadIDlist=$threadID . "," . $threadIDlist;
$threadcount++;
#print message list here
}
}
It works, BUT I need to know the total number of threadIDs. When I count the number of rows it gives me the total number of rows (128) not the number of threadIDs.
The only thing I could think to do was to do this same loop BEFORE I start printing the list so I could track the $threadcount. I'm assuming that's a pretty lame way of doing it.
If my explanation makes sense, can someone give me a better way to grab the total number of threads without having to loop through twice?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.