簡體   English   中英

如何使用mysql_field_name或mysqli_fetch_field並排顯示列名和值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM