-1

是否可以用列中的值填充表格。例如

<?php
echo "<table>";
for ($j=0;$j<6;$j++)
{
echo "<tr>";
for ($i=0;$i<6;$i++)
{
echo "<td>".$j.$i."</td>";
}
echo "</tr>";
}
echo "</table>";
?>

输出变为

00  01  02  03  04  05
10  11  12  13  14  15
20  21  22  23  24  25
30  31  32  33  34  35
40  41  42  43  44  45
50  51  52  53  54  55

但我希望桌子看起来像

00  10  20  30  40  50
01  11  21  31  41  51
02  12  22  32  42  52
03  13  23  33  43  53
04  14  24  34  44  54
05  15  25  35  45  55

我提出了一个条件,即不更改填写表格的值。(将 echo 从 $j.$i 更改为 $i.$j 会带来这种外观,但我想按列填充数据)。它是如何成为可能的?

4

3 回答 3

0

这是你真正的做法,老派风格,充分评论解释。

 <?php
 //NOTE: This excercise would be slightly easier if you just used php's DomDocument class because you wouldn't 
 //need to waste some logic determining whether to open/close the table rows, but here it is just echoing
 //out some straight html 

//The example data
$data_set = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
//at the very least, you'll need to know how many columns you want to format the data into...
$number_of_columns = 5; 
//count the data items
$number_of_data_items=count($data_set);
//determine how many rows you'll need to display the data in the given number of columns
$num_rows=ceil($number_of_data_items/$number_of_columns);
//determine exactly how many cells it will take to display the data
$num_cells=$num_rows*$number_of_columns;

//now that we have enough info to output the table...
//init some counters
$row_count=0;
$column_count=0;
//open the table element
echo "<table border='1' cellspacing='0' cellpadding='5'>";
for($i=0;$i<$num_cells;$i++){

    $column_count++; 
    $index = $row_count + ($num_rows * ($column_count-1) );
    if( $column_count==1 ){ 
        echo "<tr>";
    } 

    if(  $index < $number_of_data_items){ 
        echo  "<td>Item :".($index+1)."</td>"; //Display the number of the data item we are
        echo  "<td>".$data_set[$index]."</td>"; //Display the actual data item
        echo "<td>&nbsp;&nbsp;</td>"; //Add some extra space between columns
    }else{ 
        //write empty cells if the data set doesn't completely fill the last column
        echo "<td>&nbsp;</td>";
        echo "<td>&nbsp;</td>";    
        echo "<td>&nbsp;&nbsp;</td>";  
    } 
    if($number_of_columns == $column_count){ 
        echo "</tr>";
        $row_count++; 
        $column_count=0;
    } 
} 
//close the table element
echo "</table>";
?>
于 2014-01-10T05:22:10.470 回答
0

甚至没有深入了解 JS 问题的细节,您的 PHP 完全错误(如果您查看了 php 生成的 HTML,您应该能够看到):

echo '<li value"'.$i.'" id="'.$i.'" onclick=loadXmlDoc("'.$i,$variable.'")>'.$i.'</li>';<br>

应该更像这样:

echo '<li value="'.$i.'" id="'.$i.'" onclick="loadXmlDoc(\''.$i.'\',\''.$variable.\''")>'.$i.'</li><br>';
于 2013-08-07T19:16:47.063 回答
0

我相信这一点:

$variable1="xyz";
for($i=1; $i<=$pages; $i++)
{   
    echo '<li value"'.$i.'" id="'.$i.'" onclick=loadXmlDoc("'.$i,$variable.'")>'.$i.'</li>';<br>
}

需要是:

$variable1="xyz";
for($i=1; $i<=$pages; $i++)
{   
    echo '<li value="'.$i.'" id="'.$i.'" onclick=loadXmlDoc(\''.$i.'\',\''.$variable.'\')>'.$i.'</li>';<br>
}
于 2013-08-07T19:20:50.183 回答