Click here to Skip to main content
14,604,663 members

Design and Architecture

 
GeneralRe: SCRUM Pin
Praveen Raghuvanshi11-Jan-11 18:54
professionalPraveen Raghuvanshi11-Jan-11 18:54 
GeneralRe: SCRUM Pin
Ravi Sant17-Jan-11 21:57
MemberRavi Sant17-Jan-11 21:57 
QuestionObject heuristic Pin
Leslie Sanford5-Jan-11 11:35
MemberLeslie Sanford5-Jan-11 11:35 
AnswerRe: Object heuristic Pin
Luc Pattyn5-Jan-11 13:06
sitebuilderLuc Pattyn5-Jan-11 13:06 
GeneralRe: Object heuristic Pin
Leslie Sanford5-Jan-11 13:51
MemberLeslie Sanford5-Jan-11 13:51 
GeneralRe: Object heuristic Pin
Luc Pattyn5-Jan-11 14:06
sitebuilderLuc Pattyn5-Jan-11 14:06 
AnswerRe: Object heuristic Pin
Paul Michalik7-Jan-11 1:24
MemberPaul Michalik7-Jan-11 1:24 
QuestionDatabase Code Pin
Leslie Sanford5-Jan-11 5:46
MemberLeslie Sanford5-Jan-11 5:46 
I'm looking for ideas/guidance on how to design serverside functionality for interacting with a database. My situation is pretty typical. I have PHP "scripts" that receive request variables. Based on the parameters passed to it, the script queries a database, formats the returned data in some way, and returns it, usually in JSON format.

I've tried taking various approaches to managing the code for this. For example, I've written sets of functions for querying the databse, e.g. getCustomerByName, getProductsByPrice, etc., with each of these functions containing the necessary SQL code. The problem is that you can have an explosion of these types of functions. And sometimes the queries can get quite nuanced so that you wind up with long named functions like getCustomerByNameAndCountry. This approach doesn't seem to scale well, and has made me a little disillusioned with encapsulating SQL queries in functions.

I was thinking about making functions that are more generalized. Something like getCustomer($columns, $where, $orderBy). In other words, parts of the SQL query would be defined outside of the function and passed in. As long as everything is escaped properly, this should be safe. This approach would mean put the responsibility of parsing the request parameters, determining exactly what is being asked for, and then transforming the request parameters into partial SQL statements that would be passed to general functions for performing the actual query.

But then maybe the functions aren't needed at all?

Anyway, I'm relatively new to DB/severside programming; I've been doing it for less than a year, and I'm still struggling with how to structure a system. Any thoughts are welcome.
AnswerRe: Database Code Pin
dasblinkenlight12-Jan-11 11:42
Memberdasblinkenlight12-Jan-11 11:42 
QuestionMatching between product and customer personal information Pin
Yanshof3-Jan-11 20:07
MemberYanshof3-Jan-11 20:07 
AnswerRe: Matching between product and customer personal information Pin
dasblinkenlight13-Jan-11 6:24
Memberdasblinkenlight13-Jan-11 6:24 
QuestionNeed guidance on designing and preparing MCPD Pin
Praveen Raghuvanshi3-Jan-11 7:11
professionalPraveen Raghuvanshi3-Jan-11 7:11 
AnswerRe: Need guidance on designing and preparing MCPD Pin
Richard MacCutchan4-Jan-11 5:36
mveRichard MacCutchan4-Jan-11 5:36 
GeneralRe: Need guidance on designing and preparing MCPD Pin
Praveen Raghuvanshi4-Jan-11 17:21
professionalPraveen Raghuvanshi4-Jan-11 17:21 
GeneralRe: Need guidance on designing and preparing MCPD Pin
Richard MacCutchan4-Jan-11 21:39
mveRichard MacCutchan4-Jan-11 21:39 
QuestionPossible inefficiency in post-increment FOR loop? Pin
Xpnctoc30-Dec-10 15:12
MemberXpnctoc30-Dec-10 15:12 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
Richard MacCutchan30-Dec-10 23:05
mveRichard MacCutchan30-Dec-10 23:05 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
Luc Pattyn30-Dec-10 23:37
sitebuilderLuc Pattyn30-Dec-10 23:37 
GeneralRe: Possible inefficiency in post-increment FOR loop? Pin
fat_boy31-Dec-10 2:12
Memberfat_boy31-Dec-10 2:12 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
fat_boy31-Dec-10 2:13
Memberfat_boy31-Dec-10 2:13 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
Peter_in_27804-Jan-11 18:21
professionalPeter_in_27804-Jan-11 18:21 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
dasblinkenlight13-Jan-11 2:18
Memberdasblinkenlight13-Jan-11 2:18 
QuestionDiagramming? Pin
dawmail33328-Dec-10 22:48
Memberdawmail33328-Dec-10 22:48 
AnswerRe: Diagramming? Pin
fat_boy31-Dec-10 2:18
Memberfat_boy31-Dec-10 2:18 
QuestionDeveloping to try to make a difference? Pin
Todd Baxter28-Dec-10 3:16
MemberTodd Baxter28-Dec-10 3:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.