Skip to content Skip to sidebar Skip to footer

Spliting Php/mysql Data Into 3 Columns

I need to create 3 HTML columns in PHP with data returned from MySQL. I would like the data split evenly between all 3 columns... How would I go about doing this?

Solution 1:

You could try doing something like this:

$result = mysql_query("SELECT value FROM table");
$i = 0;
echo'<table><tr>';
while ($row = mysql_fetch_row($result)){
  echo'<td>' . $row[0] . '</td>';
  if ($i++ == 2) echo'</tr><tr>'
}
echo'</tr></table>';

note this table has the values ordered like

1 2 3 
4 5 6
7 8 9

If you wanted it vertically like

1 4 7
2 5 8
3 6 9

Then you should do something like

$result = mysql_query("SELECT value FROM table");
$data = Array();

while ($row = mysql_fetch_row($result)) $data[] = $row;

for ($i = 0; $i < count($data) / 3; $i++){

  echo'<table><tr>';

  for ($j = 0; $j < 3; $j++){
    echo'<td>' . $data[ $i + $j * 3] . '</td>';
  }

  echo'</tr><tr>'
}
echo'</tr></table>';

Solution 2:

You can create an HTML table and then use a PHP foreach loop to loop through the MySQL result set and put each field in its own table. At the end of each record returned by the MySQL query, end the table row and start a new one.

Solution 3:

A small detail, if return more entries than the "fetch_row" use "break", based on the answer from @Robbie: Spliting mysql data in 3 columns error -3-columns-error

Post a Comment for "Spliting Php/mysql Data Into 3 Columns"