Re: Storing indefinite arrays in database

From: Date: Wed, 11 May 2011 18:13:08 +0000
Subject: Re: Storing indefinite arrays in database
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-312762@lists.php.net to get a copy of this message
On 05/10/2011 03:16 PM, Benedikt Voigt wrote: > Hi, > I'am very new to PHP, so please any comment is welcome. > > I want to write a function in PHP, which takes X arguments and outputs a > value. > The functioning of this function should be stored in a db (mydb? or > better alternatives?) > The function would look up the result in the db based on the X arguments. > > But how can I store X arguments and the corresponding output value? > If I limit the X arguments to a specific number like N=10, then I could > create N=10 +1 columns in a table. > But how should I do it if I don't want to limit myself to a fix number? > > Thanks for any comment! > Ben Two ways that come to mind: 1. If you don't need to search, join, etc. on any of the arguments in the DB (*and never will need to*), then serialize the array and store it in one column and the result in another. 2. Use two tables: results id result 1 50 2 99 arguments id results_id argument 1 1 800 2 1 999 3 1 3.14 Then you just join results.id on arguments.results_id in your query. If you actually need to store the argument name then just add another column called variable and change the argument column's name to value. id results_id variable value -- Thanks! -Shawn http://www.spidean.com

« previous php.general (#312762) next »