複数列の値テーブルを 2 つの列で表示するアプリケーションを作成する必要があります (以前にそれに関する質問を投稿しましたが、いくつかの調査を行って視野を研ぎ澄ませました)。各個人はテーブルに 1 つのエントリを持ちます。タスクは、これらの列の値を 2 列のテーブルに表示することです。
列は、個人が登録している科目です。すなわち。
MATH111,MATH112,ENG111,ENG112
これらの列は、データベースにロードされる Excel シートの列見出しに基づいているため、本質的に動的です。これに照らして、HTMLでテーブルの名前を「ハードコード」することはできません
<th>MATH111</th><th>MATH112</th>........
実行時に列名を取得する必要があり、列の名前を表示し、「AND」に含まれる値を表示します。テーブル内の唯一の固定値は、生徒の reg_no です。他のすべての値は任意です (テーブルの列数を含む)。
テーブルの基本構造は次のとおりです。
id int auto_increment primary key,
reg_no varchar(25),
arbitrary col1 int,
arbitrary col2 int,
arbitrary col3 int,
arbitrary col4 int,
arbitrary colx....
上記に沿って、任意の col1 を照会すると、任意の col1 が表すコースで取得されたスコアが取得されます。
次の形式で Web ページに表示する必要があります。
echo '<table><tr><th>Course</th><th>Score</th></tr>';
テーブルからデータを取得するための私のクエリは
$sql="select * from '.$table_name.' where reg_no='.$reg_no.';
...................................(blah...)
良い部分は、テーブル内の列の数を知っていることです(この数字はテーブルの作成中に保存されるため)。少し調査したところ、「mysql_field_name」関数を使用できることがわかりました。または mysqli_fetch_field 関数。
mysql_field_name は次のように使用されます (私の意見では、この方が簡単です)。
$result=mysql_query($sql, $link);
$row=mysql_fetch_array($result);
ここから...いくつかのヒントが必要になります:
「両方」を表示したいフィールド名とフィールドの値。これが私がやろうとしている方法です。間違っている場合は修正してください。
$numberofcolumnsintable=$numberofcolumnsintable++;
while(int i=1;i<=$numberofcolumnsintable;$i++)
(I am starting from the index 1(second column because i do not want to display the reg_no or its data)
{ echo"<tr><td>".mysql_field_name($result,$i)."</td>"<td>".$result[$i]."</td></tr>";
}
echo "</table>";
私はそれを正しくやっていますか?私はmysqli関数の方が快適です...しかし、列のプロパティを持つオブジェクトを返すmysqli_fetch_field関数を使用しています..アクセス方法はまだわかりません。それについての助けにも感謝します。それでは、私の主な質問に戻ります。上記のコードは、列名とその値を並べて表示するのに十分ですか?.Thanks