Re: How to replace define in a require file with mysql?
| From: | Robin Vickery | Date: | Mon, 05 Nov 2007 10:02:38 +0000 |
| Subject: | Re: How to replace define in a require file with mysql? | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-264045@lists.php.net to get a copy of this message | ||
On 05/11/2007, Zoltán Németh <znemeth@alterationx.hu> wrote:
> 2007. 11. 5, hétfő keltezéssel 06.10-kor Ronald Wiplinger ezt írta:
> > Jim Lucas wrote:
> > > Ronald Wiplinger wrote:
> > >> I have a file linked with require into my program with statements like:
> > >>
> > >> define("_ADDRESS","Address");
> > >> define("_CITY","City");
> > >>
> > >> I would like to replace this with a mysql table with these two fields
> > >> (out of many other fields).
> > >>
> > >> How can I do that?
> > >>
> > >> bye
> > >>
> > >> Ronald
> > >>
> > > Well, if you have all the settings in a DB already, then what I would
> > > do is this.
> > >
> > > SELECT param_name, param_value FROM yourTable;
> > >
> > > then
> > >
> > > while ( list($name, $value) = mysql_fetch_row($results_handler) ) {
> > > define($name, $value);
> > > }
> > >
> > > put this in place of your existing defines and you should be good.
> > >
> >
> > Thanks! Works fine!
> > I need now a modification for that.
> >
> > Two values:
> > SELECT param_name, param_value1, param_value2 FROM yourTable;
> >
> > IF param_value1 is empty, than it should use param_value2
>
> try something like this sql:
>
> SELECT param_name, IF ((param_value1 <> '') AND NOT
> ISNULL(param_value1), param_value1, param_value2) AS param_value FROM
> yourTable
or use COALESCE()
(http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_coalesce)
SELECT param_name, COALESCE(param_value1, param_value2) AS param_value
FROM yourTable;
-robin