Re: Storing indefinite arrays in database

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux