0

私はこのテーブルを持っていますここに画像の説明を入力

そして、私の目標は、このようなテーブルを持つことです

ここに画像の説明を入力

テーブルには 8 行 3 列があります

質問は既に保存していますが、この形式で印刷するのに苦労しています。

4つの質問を印刷した後、別のセルに移動して4つの質問を再度印刷し、すでに3つの列があると、新しい行を作成して同じ手順を再度実行します.(8行と3列)

質問はシーケンス番号順に並べられています。[下の表では、最初の 4 つの質問は 1、2、3、4 で、右側のセルは 6、7、8、9 などです...]

私はすでに8時間近くこれにこだわっています....

これが私の現在のコードです:

select = "SELECT q.QuestionID, q.QuestionText, q.m, q.l, q.GroupNo, q.SequenceNo FROM question2 q Order By q.SequenceNo";
$result = mysql_query($select);
$question_id = "";
$question_text = "";
$question_m = "";
$question_l = "";
$question_group = "";
//$table = "<table border='1' cellspacing='1'>";
$count_row = 0;
$array = array();
//$count_column = 0;
while($row = mysql_fetch_array($result))
{
    $question_id = $row['QuestionID'];
    $question_text = $row['QuestionText'];
    $question_m = $row['m'];
    $question_l = $row['l'];
    $question_group = $row['GroupNo'];
    $question_sequence = $row['SequenceNo'];

    if($count_row > 2)
    {
        $array[] .= "</div>";   
    }

    $array[] .= "<div style='border=1px';'>";
    $array[] .= $question_text ."<br/>";
    $count_row++;
}

$table .= "</table>";
echo $table;

閣下/奥様、あなたの答えは大変役に立ちます。ありがとう++

4

2 に答える 2

1
$querstions = array();
$query = "SELECT QuestionID, QuestionText, m, l, GroupNo, SequenceNo FROM question2 ORDER BY SequenceNo";
$resource = mysql_query($query);
while($row = mysql_fetch_array($result))
{
   $querstions[$row['QuestionID']] = $row;
}

/* print table head */
echo "<table><thead>....

/* split up question in master_rows with 12 question each */
foreach(array_chunk($querstions, 12) as $master_row)
{
    echo ...

    foreach(range(0, 3) as $row_nr)
    {
        echo ... $master_row[$row_nr] ...;

        echo ... $master_row[$row_nr + 4] ...;

        echo ... $master_row[$row_nr + 8] ...;
    }

    echo ...
}
于 2012-06-27T13:55:59.603 に答える
1

質問を完全に理解しているかどうかはわかりませんが、これを試すことができます。私はそれがあなたが望む出力を与えると信じています。

$row_count = 0;
echo "<table border=1>";

while($row = mysql_fetch_array($result)) {

    if($row_count%12 == 0) {
    echo "<tr>";
    }

    if($row_count%4 == 0) {
    echo "<td>";
    }

    echo $row['QuestionText']."<br>";

    if($row_count%4 == 3) {
    echo "</td>";
    }
    if($row_count%12 == 11) {
    echo "</tr>";
    }
    $row_count++;

}
echo "</table>";

次のような出力が得られるはずです。

<table border=1>
<tr>
<td>0<br>1<br>2<br>3<br></td>
<td>4<br>5<br>6<br>7<br></td>
<td>8<br>9<br>10<br>11<br></td>
</tr>
<tr>
<td>12<br>13<br>14<br>15<br></td>
<td>16<br>17<br>18<br>19<br></td>
<td>20<br>21<br>22<br>23<br></td>
</tr>
<tr>
<td>24<br>25<br>26<br>27<br></td>
<td>28<br>29<br>30<br>31<br></td>
<td>32<br>33<br>34<br>35<br></td>
</tr>
...
</table>
于 2012-06-27T14:04:25.530 に答える