Posted by sicapitan on 10/27/06 15:32
I'm trying to build some xml from an array with the help from another
array.
In one array I have
$cells
Array
(
[0] => CELL0
[6] => CELL2
)
...
etc
In another I have:
Array
(
[id] => 38
[form_id] => 3
[order] => 1
[type] => grid
[name] => CELL0
[value] => Period
)
Array
(
[id] => 39
[form_id] => 3
[order] => 1
[type] => grid
[name] => CELL0
[value] => type
)
.... continues..
Array
(
[id] => 47
[form_id] => 3
[order] => 2
[type] => grid
[name] => CELL2
[value] =>
)
Array
(
[id] => 48
[form_id] => 3
[order] => 2
[type] => grid
[name] => CELL2
[value] =>
)
What I want to do is for CELL0 for example, get all the data in the
other array pertaining to this value such that I have CELL0 data in
another new array and CELL1 data in another array. But when I am going
through the data, Ever 6 records I need to close the XML and reset the
count.
So the data string I want to build for CELL0:
<data>
<data>Value1</data>
<data>Value2</data>
<data>Value3</data>
<data>Value4</data>
<data>Value5</data>
<data>Value6</data>
</data>
....
In array form
[CELL0]
=> <data><data>Value1</data>.....</data>
[CELL1]
=> <data><data>Value1</data>....</data>
This is what I have so far:
foreach( $grid_cells as $key => $cell )
{
$colcount = 1;
foreach( $grids as $key => $form_record )
{
if ( $cell == $form_record['name'] )
{
if ( $colcount == 1) {
$grid_data[$form_record['name']] .= "<data>"; // Start of row
$grid_data[$form_record['name']] .= "<data>" .
$form_record['value'] . "</data>"; // middle of row
}
if ( $colcount <= $cols )
{
$grid_data[$form_record['name']] .= "<data>" .
$form_record['value'] . "</data>"; // middle of row
$colcount++;
}
if ($colcount > $cols) {
$grid_data[$form_record['name']] .= "</data>"; // end of row
$colcount = 1;
}
} // end if
}
}
$grid_cells contains :
Array
(
[0] => CELL0
[6] => CELL2
)
....etc
$grids contains :
Array
(
[id] => 37
[form_id] => 3
[order] => 1
[type] => grid
[name] => CELL0
[value] => Client Name
)
This produces:
Array
(
[CELL0] => <data><data>Client Name</data><data>Client
Name</data><data>Period</data><data>type</data><data>Description</data><data>23498</data><data></data></data>
[CELL2] =>
<data><data></data><data></data><data></data><data></data><data></data><data></data><data></data></data>
)
It's something simple, can anyone help?
Navigation:
[Reply to this message]
|