0

Hi all,

I have a 2 dimentional array. What im trying to do is pull out the relevant bits and slot them under their correct segment, which works for tier one. If totally forgotten how to loop through the 2nd tier of the array. i know it needs to go in the else, but my brain is fried

my code so far is as follows

echo "<table border=\"1\">";
echo "<tr>";
foreach ($headers as $header){
	
	echo "<td>" . $header . "</td>";
}
echo "</tr>";

$SQL = "SELECT converted_text FROM forms_subscribed";
$results = tep_db_query($SQL);

while ($row = tep_db_fetch_array($results)){
	
	$entry = unserialize($row['converted_text']);
	
	foreach ($headers as $key=> $header){
		
		
				if ((array_key_exists($header, $entry)) && ($entry[$header] != 'Array')){
					echo "<td>" . $entry[$header] . "</td>";
				
				} else {
				
				echo "<td>-</td>";	
				}
	}
	
	echo "</tr>";
}

echo "</table>";
2
Contributors
3
Replies
4
Views
6 Years
Discussion Span
Last Post by ddsuresh
0

May be try this to loop your second level of array.

if ((array_key_exists($header, $entry)) && ($entry[$header] != 'Array')){
  echo "<td>";
  foreach($entry[$header] as $key => $value) {
      echo $key . ' - ' . $value . "<br />";
  }
  echo "</td>";
}
0

ive included 2 example arrays. As you can see, they may have extra elements. Would you be able to provide an example of how you would echo that into a table?

im rather stuck

Array
(
    [firstname] => john
    [lastname] => smith
    [email] => js@hotmail.com
    [gender] => Male
    [dob] => Array
        (
            [day] => 
            [month] => 
            [year] => 
        )

    [interested] => Array
        (
            [Haircare] => 1
            [Hair removal] => 1
            [Shaving] => 1
            [Grooming] => 1
        )

    [agree] => 1
    [x] => 104
    [y] => 17
)




Array
(
    [firstname] => Chris
    [lastname] => Jones
    [email] => example@gmail.com
    [dob] => Array
        (
            [day] => 16
            [month] => 3
            [year] => 1954
        )

    [interested] => Array
        (
            [Hair removal] => 1
            [Shaving] => 1
        )

    [agree] => 1
    [x] => 53
    [y] => 15
)
0

This may not be exact answer, but might be helpful.

<tr>
  <td>FirstName</td>
  <td>LastName</td>
  <td>Email</td>
  <td>Gender</td>
  <td>DOB</td>
  <td>Interested</td>
</tr>
<?php
   foreach($entry as $key => $value) { // $value will contain your 2 example array values
?>
    <tr>
       <td><?php echo $value['firstname']; ?></td>
       <td><?php echo $value['lastname']; ?></td>
       <td><?php echo $value['email']; ?></td>
       <td><?php echo $value['gender']; ?></td>
       <td><?php echo (isset($value['dob']['day']) && !empty($value['dob']['day']) ? implode("/", array_values($value['dob'])) : ''); ?></td>
       <td><?php echo implode(", ", array_keys($value['interested'])); ?></td>
    </tr>
<?php
   }
?>

Edited by ddsuresh: n/a

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.