Click here to Skip to main content
12,823,954 members (40,643 online)

Design and Architecture

 
GeneralRe: SCRUM Pin
Rags151211-Jan-11 19:54
memberRags151211-Jan-11 19:54 
GeneralRe: SCRUM Pin
RaviSant17-Jan-11 22:57
memberRaviSant17-Jan-11 22:57 
QuestionObject heuristic Pin
Leslie Sanford5-Jan-11 12:35
memberLeslie Sanford5-Jan-11 12:35 
AnswerRe: Object heuristic Pin
Luc Pattyn5-Jan-11 14:06
mvpLuc Pattyn5-Jan-11 14:06 
GeneralRe: Object heuristic Pin
Leslie Sanford5-Jan-11 14:51
memberLeslie Sanford5-Jan-11 14:51 
GeneralRe: Object heuristic Pin
Luc Pattyn5-Jan-11 15:06
mvpLuc Pattyn5-Jan-11 15:06 
AnswerRe: Object heuristic Pin
paul_717-Jan-11 2:24
memberpaul_717-Jan-11 2:24 
QuestionDatabase Code Pin
Leslie Sanford5-Jan-11 6:46
memberLeslie Sanford5-Jan-11 6: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 12:42
memberdasblinkenlight12-Jan-11 12:42 
QuestionMatching between product and customer personal information Pin
Yanshof3-Jan-11 21:07
memberYanshof3-Jan-11 21:07 
AnswerRe: Matching between product and customer personal information Pin
dasblinkenlight13-Jan-11 7:24
memberdasblinkenlight13-Jan-11 7:24 
QuestionNeed guidance on designing and preparing MCPD Pin
Rags15123-Jan-11 8:11
memberRags15123-Jan-11 8:11 
AnswerRe: Need guidance on designing and preparing MCPD Pin
Richard MacCutchan4-Jan-11 6:36
mvpRichard MacCutchan4-Jan-11 6:36 
GeneralRe: Need guidance on designing and preparing MCPD Pin
Rags15124-Jan-11 18:21
memberRags15124-Jan-11 18:21 
GeneralRe: Need guidance on designing and preparing MCPD Pin
Richard MacCutchan4-Jan-11 22:39
mvpRichard MacCutchan4-Jan-11 22:39 
QuestionPossible inefficiency in post-increment FOR loop? Pin
Xpnctoc30-Dec-10 16:12
memberXpnctoc30-Dec-10 16:12 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
Richard MacCutchan31-Dec-10 0:05
mvpRichard MacCutchan31-Dec-10 0:05 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
Luc Pattyn31-Dec-10 0:37
mvpLuc Pattyn31-Dec-10 0:37 
GeneralRe: Possible inefficiency in post-increment FOR loop? Pin
fat_boy31-Dec-10 3:12
memberfat_boy31-Dec-10 3:12 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
fat_boy31-Dec-10 3:13
memberfat_boy31-Dec-10 3:13 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
Peter_in_27804-Jan-11 19:21
memberPeter_in_27804-Jan-11 19:21 
AnswerRe: Possible inefficiency in post-increment FOR loop? Pin
dasblinkenlight13-Jan-11 3:18
memberdasblinkenlight13-Jan-11 3:18 
QuestionDiagramming? Pin
dawmail33328-Dec-10 23:48
memberdawmail33328-Dec-10 23:48 
AnswerRe: Diagramming? Pin
fat_boy31-Dec-10 3:18
memberfat_boy31-Dec-10 3:18 
QuestionDeveloping to try to make a difference? Pin
Todd Baxter28-Dec-10 4:16
memberTodd Baxter28-Dec-10 4: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.


Advertise | Privacy | Mobile
Web01 | 2.8.170308.1 | Last Updated 16 Mar 2017
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid