[英]How to use mysql_field_name or mysqli_fetch_field to display Column Name And Value Side By Side
我必須編寫一個應用程序,在兩列中顯示一個多列值表(我之前發布了一個問題,但我做了一些研究,這使我的觀點更加突出)。 每個人在表中都有一個條目。任務是在兩列表中顯示這些列中的值。
這些列適用於個人注冊的主題。 即。
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代表的過程中獲得的分數。
我需要以下面的格式在網頁中顯示它們:
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);
從這里開始...我需要一些提示:
我想顯示“ BOTH ”字段名稱和字段的值。 所以這就是我打算這樣做的方法。如果我錯了,請糾正我。
$ 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函數返回一個具有列屬性的對象..我還沒有想出如何訪問。 對此的任何幫助也將不勝感激。 所以回到我的主要問題。 上面顯示的代碼是否足以並排顯示列名稱及其值?謝謝
使用mysql(i)_fetch_assoc而不是mysql(i)_fetch_array 。 這樣你就會得到一個包含列名和值的關聯數組 。 一個簡單的foreach將會這樣做:
$rows = mysqli_query('select * from tbl');
foreach($rows as $column => $value) {
echo $column . ": " . $value . "<br />";
}
$rows
可能看起來像這樣:
array(
array('reg_no' => '321', 'col1' => 'foo'),
array('reg_no' => '654', 'col1' => 'knox')
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.