View Single Post
Old 08-02-2008, 04:13 AM   #1 (permalink)
benton
The Contributor
 
Join Date: Apr 2008
Posts: 45
Thanks: 0
benton is on a distinguished road
Default Filling an array with an array

I'm writing a script where the user can input certain items, which are then converted to php code and written to a file. A cron job will then be used to run that file. For the most part, it is all working fine but I am having problems get an array written correctly. Here is an example:

In the main code that displays for the user:
PHP Code:
//collect data from form
$data = array();
$data['name'] = 'some name';
$data['email'] = 'email address';
$data['options'] = array(=> "opt1",
                         
=> "opt2",
                         
=> "opt3");
$fp = array();
PrepareData($fp$data);
WriteFile($fp); 
For the PrepareFile function
PHP Code:
PrepareFile(&$fp$data) {
$fp[] = "\$name = " $data['name'] . "; \n";
$fp[] = "\$email = " $data['email'] . "; \n";

$fp[] = "\$db_query = mysql_query(\"select * from table\") or die(mysql_error());" "\n";
$fp[] = "while(\$db = mysql_fetch_array(\$db_query, MYSQL_ASSOC)) {" "\n";
$fp[] = "foreach (" $data['options'] . " as $option) {" "\n";
$fp[] = "\$message .= \$db[\$option] .'</tr></td>';" "\n";
}

The problem is with the line
PHP Code:
$fp[] = "foreach (" $data['options'] . " as $option) { 
When the written file is displayed, for that line it shows
PHP Code:
foreach (Array as $option) { 
The rest of the code is converted correctly. If I remove the foreach loop, the created file can be ran and the output is created as expected, using the complete code, of course. Can anyone see a problem with how I am doing this?
benton is offline  
Reply With Quote