Reply to a better way to do this?

Your name:

Reply:


Posted by ELINTPimp on 08/03/07 14:14

Good morning group,

Working on a generic ticketing system...each ticket can have multiple
comments, each comment can have multiple people concurring the comment
(generates a child comment record in the ticket_comments table and a
concurrence record (indicating if they approved or disapproved) in the
comment_concurrences table). Have everything working...wonderful. I
decided to print all my queries before releasing beta version and
apparently working on a very fast intranet afforded me to be sloppy!

Basically what I have going on:
The ticket class has a comments container that is an array of related
comments objects.
The comments class has a concurrence container that is an array of
concurrence objects.

When the ticket factory method is called, it calls the comments
factory method, which in turn calls the concurrence factory method.
Like I said, works fine...but right now it's using loops to generate
each concurrence set for each comment, resulting in an ever growing
number of queries for every request.

So, a new concurrence method:

public static function getTicketConcurrences ($comments) {
//@param $comments is an array of comment objects
foreach ($comments as $c) {
$c_ids[] = $c->getCommentId();
}
$res = db::getTicketConcurrences($c_ids);
while ($r = mysql_fetch_array($r)) {
$concurrence = new concurrence($r);
foreach ($comments as &$c)
{ #####
if ($c->getCommentId() == $concurrence->getCommentId())
{ #####
$c-
>addConcurrence($concurrence);
#####
}
#####
} // end foreach
} //end while
return $comments;
} // end getTicketConcurrences() method


My question is...is there a better way for me to do what I have marked
(#####)? Looping through the objects and the like just seem ugly.
Maybe an array function like array_search...but will let me look at a
specific property within the object?

Thanks,

Steve

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация