-1

HTMLテーブルを作成し、コンテンツを表形式で表示しようとしています

説明 :- コンマ (,) で区切られた値を持つコンテンツがあります ex:a、b、c、d、e、f 行番号 ex:4 があります 列番号 ex:5 があります

これらの 3 つの情報は、データのフェッチ中に DB に格納され、DB で指定された行と列の数を持つテーブルを作成する必要があります。また、コンテンツは、各値 (カンマ区切り) が 1 つのセルにあるようにテーブルにロードする必要があります。

これまでに試したコード:

$resultSet = mysql_query("SELECT * FROM table1");
$result = mysql_fetch_array($resultSet);
$tableContent = $result[0];
$tableResult = explode(',',$tableContent);
foreach($tableResult as $tabRes) {
echo $tabRes."<br/>";
}
$rows = $result[1];
$cols = $result[2];
$table = "<table border=\"1\">";
for($i=1; $i<=$rows; $i++){
    $table .= "<tr>";
    for($j=1; $j<=$cols; $j++){
        foreach($tableResult as $tabRes) {
        $table .= "<td>$tabRes</td>";
        }
    }
    $table .= "</tr>";
}
$table .= "</table>";
echo $table;
4

2 に答える 2

2

tr最初のループ ブロックに閉じます。

書く

    $table .= "</tr>";
  }

それ以外の

  }
    $table .= "</tr>";
于 2012-07-12T06:54:52.210 に答える
1

編集された回答:

$resultSet = mysql_query("SELECT * FROM table1");
$result = mysql_fetch_array($resultSet); 
$content = $result[0];
$rows = $result[1];
$columns =  $result[2];

$cellcontent = explode(',', $content);
$table = '<table border="1">'; 
for($i = 0; $i < $rows; $i++) {
    $table .= '<tr>'; 
    for($j = 0; $j < $columns; $j++) { 
        $table .= '<td>'.$cellcontent[$j].'</td>';
    }
    $table .= '</tr>'; 
}
$table .= '</table>'; 
echo $table;

編集:

理解を深めるために、ここでDBを調べてみます(これはあなたの質問を読んで理解したものです):

|  Content    | rows | columns |
| a,b,c,d,e,f |   3  |    6    |

そうですか?それとももっとエントリーありますか?このような:

|  Content    | rows | columns |
| a,b,c,d,e,f |   3  |    6    |
| g,h,i,j,k,l |   1  |    6    |
| m,n,o,p,q,r |   5  |    6    |

それとも、コンテンツがはるかに長く、行と列に分割する必要がありますか (最初のコンテンツ セルには 2 x 6 のコンテンツがあるため、最初の行は最初の行に、2 番目の行は 2 番目の行になります)。

|  Content    | rows | columns |
| a,b,c,d,e,f |   2  |    6    |
| g,h,i,j,k,l |      |         |
| ------------|------|---------|
| g,h,i,j,k,l |   1  |    6    |
| m,n,o,p,q,r |   5  |    6    |

今のところ、毎回同じ行を繰り返すだけです。

于 2012-07-12T06:56:24.670 に答える