开发者

Generating a table from a PHP array

开发者 https://www.devze.com 2022-12-23 21:05 出处:网络
I\'m not sure how difficult this but I have an array and would like to put it into an html table. I need to have two array strings per row, so if this were the array:

I'm not sure how difficult this but I have an array and would like to put it into an html table. I need to have two array strings per row, so if this were the array:

   $array1 = array(
     1 => 'one',
     2 => 'two',
     3 => 'three',
     4 => 'four',
     5 => "five",
     6 => 'six',
    );

And I need the html table to look like this:

| one |  two |
|three| four |
|five | six  |

This is my code:

$db开发者_如何学Go = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
$db->connect(); 

    $sql = "SELECT ID, movieno
            FROM movies
            ORDER BY ID DESC
            LIMIT 6 ";

    $rows = $db->query($sql);

    print '<table width="307" border="0" cellspacing="5" cellpadding="4">';
    while ($record = $db->fetch_array($rows)) {
        $vidaidi = $record['movieno'];
        print <<<END
        <tr>
            <td>
                <a href="http://www.youtube.com/watch?v=$vidaidi" target="_blank">

                <img src="http://img.youtube.com/vi/$vidaidi/1.jpg" width="123" height="80"></a>   
            </td> 
        </tr>
    END;
    }
    print '</table>';  

I want to put it on two columns.


Try this code ...

<?php

$array1 = array(
                1 => 'one',
                2 => 'two',
                3 => 'three',
                4 => 'four',
                5 => "five",
                6 => 'six',
               );

$val = current  ( $array1 )  ;
print "<table border=1>";
while ( $val )
{
  print "<tr> <td> $val </td> ";
  $val = next ( $array1 ) ;
  print "<td> $val </td> </tr> ";
  print "\n";
  $val = next ( $array1 );
}

print "</table>";

?>


$array1 = array(
     1 => 'one',
     2 => 'two',
     3 => 'three',
     4 => 'four',
     5 => "five",
     6 => 'six',
    );

echo '<table>';
for ($i = 1; $i <= 7; $i++) {
  if ($i % 2 == 1) echo '<tr>';
  echo "<td>{$array1[$i]}</td>";
  if ($i % 2 == 2) echo '</tr>';
}
echo '</table>';


You can do it with a multidimensional array like this: http://www.terrawebdesign.com/multidimensional.php

Apart from writing your own code to create , and tags though I don't think there is a built in way.

You can use print_r() to print the contents of the array as a built in way of viewing the array.


You can do something like:

print "<table>";
for($i=1;$i<=count($arr);$i++) {
        if($i%2)
                print"<tr><td>$arr[$i]</td>";
        else
                print"<td>$arr[$i]</td></tr>\n";
}
print "</table>";


echo "<table>";
for($i=0;$i+=2;$i<count($array1))
{
   echo "<tr><td>".$array1[$i]."</td><td>".isset($array1[$i+1])?$array1[$i+1]:'no value'."</td></tr>";
}
echo "</table>"
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号