Help with array

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • sicapitan

    Help with array

    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>Va lue1</data>.....</data>
    [CELL1]
    =<data><data>Va lue1</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>Cl ient Name</data><data>Clie nt
    Name</data><data>Peri od</data><data>type </data><data>Desc ription</data><data>2349 8</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?

  • sicapitan

    #2
    Re: Help with array

    This works, but is there a less verbose way? And I think it only works
    for 2.... So i guess it doesn't.. :@:(

    foreach( $grid_cells as $key =$cell )
    {
    $colcount = 1;

    foreach( $grids as $key =$form_record )
    {
    if ( $cell == $form_record['name'] )
    {
    if ( $colcount == 1) {
    $grid_data[$cell] .= "<data>"; // Start of row
    $grid_data[$cell] .= "<data>" . $form_record['value'] .
    "</data>"; // middle of row
    }
    if ( $colcount <= $cols )
    {
    $grid_data[$cell] .= "<data>" . $form_record['value'] .
    "</data>"; // middle of row
    $colcount++;
    }
    if ($colcount $cols) {
    $grid_data[$cell] .= "</data>"; // end of row
    $colcount = 1;
    }
    }
    else {
    if ( $colcount == 1) {
    $grid_data[$cell] .= "<data>"; // Start of row
    $grid_data[$cell] .= "<data>" . $form_record['value'] .
    "</data>"; // middle of row
    }
    if ( $colcount <= $cols )
    {
    $grid_data[$cell] .= "<data>" . $form_record['value'] .
    "</data>"; // middle of row
    $colcount++;
    }
    if ($colcount $cols) {
    $grid_data[$cell] .= "</data>"; // end of row
    $colcount = 1;
    }
    }

    }
    }


    On Oct 27, 11:32 pm, "sicapitan" <sicapi...@gmai l.comwrote:
    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>Va lue1</data>.....</data>
    [CELL1]
    =<data><data>Va lue1</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>Cl ient Name</data><data>Clie nt
    Name</data><data>Peri od</data><data>type </data><data>Desc ription</data><data>2349 8</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?

    Comment

    • sicapitan

      #3
      Re: Help with array

      The problem was with my data!

      On Oct 27, 11:32 pm, "sicapitan" <sicapi...@gmai l.comwrote:
      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>Va lue1</data>.....</data>
      [CELL1]
      =<data><data>Va lue1</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>Cl ient Name</data><data>Clie nt
      Name</data><data>Peri od</data><data>type </data><data>Desc ription</data><data>2349 8</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?

      Comment

      Working...