RE: [PHP] Parsing database variables
| From: | Jake McHenry | Date: | Sat, 31 Mar 2007 00:00:31 +0000 |
| Subject: | RE: [PHP] Parsing database variables | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-251821@lists.php.net to get a copy of this message | ||
Ok, this is working good, except for one problem... I have variable
$pay_rate and $pay_rate_bap ... It finds $pay_rate first and then it never
finds $pay_rate_bap because it changes it to say.. 21_bap... Anyone know of
anything else that may work? I have been messing around with eval, and I
havn't gotten it to work even once yet... Always comes back with error at
line 5 of eval'd.... And line 5 of the paragraph is a blank line... Line 4
is plain text... Not even a variable until line 12...
I guess next I will play around with preg_replace, but I'm thinking I will
have the same problem as I did with str_replace... As long as the variable
names have any kind of similar names.... Correct? I can resolve this I
suppose, but the data is already in place and trying to work around it...
Thanks,
Jake
> -----Original Message-----
> From: Jim Lucas [mailto:lists@cmsws.com]
> Sent: Friday, March 30, 2007 7:32 PM
> To: Jake McHenry
> Cc: php-general@lists.php.net
> Subject: Re: [PHP] Parsing database variables
>
> Jake McHenry wrote:
> > Hi everyone,
> >
> > I have been searching and trying to do this for the past
> hour without
> > success yet....
> >
> >
> >
> > I have a database table with this in it:
> >
> >
> > <p>$name<p>
> > Period Ending Date: $ppe<p>
> > Etc.......
> >
> >
> > And in my script, these variables exist and have values. Is
> there a way for
> > me to get the output from mysql_query to use the current
> script variables in
> > place of the same variable name within the database output?
> >
> >
> >
> > Thanks,
> > Jake
> >
>
> If I read the manual correct about how to setup the input
> values for str_replace()
> you should be able to do the following.
>
> This is completely untested, since I have now system like
> yours. But here is goes...
>
>
> #setup the entries that you want to find.
> $find[] = '$name';
> $find[] = '$ppe';
>
> #setup the values to be replaced.
> #Mind you to keep the indexes the in sync with $find...
> $replace[] = $name;
> $replace[] = $ppe;
>
> echo '<pre>';
>
> while ( $row = mysql_fetch_assoc($resultHandle) ) {
>
> $row = str_replace($find, $replace, $row);
>
> // do something with $row. Display it maybe...
>
> var_dump($row);
>
> }
>
> echo '</pre>';
>
> Basically replace $find[0] with $replace[0] in any of the
> values of the return $row then replace the
> previous $row values with the newly modified values...
> Then go to the next index of $find[1] and
> $replace[1] and do the same thing until you are out of indexes.
>
> But this is a much better way of doing this than using
> eval(). eval is an evil little function!
>
>
>
> --
> Enjoy,
>
> Jim Lucas
>
> Different eyes see different things. Different hearts beat on
> different strings. But there are times
> for you and me when all such things agree.
>
> - Rush
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.446 / Virus Database: 268.18.23/740 - Release
> Date: 3/30/2007 1:15 PM
>
>
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.23/740 - Release Date: 3/30/2007
1:15 PM