2017-02-21 3 views
0

PHPを使用してカラムヘッダーを最初のローとして取得するにはどうすればよいですか?私は 'Describe [tablename]'というクエリを通してカラム名を知っています。しかし、以下のコードでヘッダをどのように取得するかは不明です。 ご協力いただければ幸いです。 私がデータをフェッチするためのコードの下に使用しています:カラムヘッダーとともにPHPを使用してMySQLテーブルデータを取得する

$sql = 'SELECT * FROM [tablename]'; 
$result = mysqli_query($conn, $sql); 
echo '<table cellpadding="5" cellspacing="5">'; 
if ($result->num_rows > 0) { 
    while ($row = $result->fetch_assoc()) { 
     echo "<tr>"; 
     foreach ($row as $value) { 
      echo "<td>" . $value . "</td>"; 
     } 
     echo "</tr>"; 
    } 
} else { 
    echo "0 results"; 
} 
echo '</table>'; 
+2

は[mysqli_fetch_field](http://php.net/manual/de/を見てくださいmysqli-result.fetch-field.php)とその 'name'プロパティです。 – MrDarkLynx

+0

そのためのいくつかの実例を指摘できますか?私はそのページの例を見ました。ただし、クエリに定義された列名が含まれています。 – M1988

答えて

2

このコードを使用して、データベースの列からテーブルヘッダを印刷するには:

echo "<tr>"; 
while ($col = $result->fetch_field()) { 
    echo "<th>" . $col->name . "</th>"; 
} 
echo "</tr>"; 
+1

ありがとう、それは私のために働いた! – M1988

1

連想配列を使用してフェッチする場合にも、任意の行にarray_keysを使用することができます。しかし、あなたの結果は数える場合は、任意のカラム名を取得することはありません。この方法は、0

例です:

$columns = array_keys($result->fetch_assoc()[0]); 

foreach ($columns as $column) { 
    echo $column . '<br>'; 
} 
+0

お返事ありがとうございます。 – M1988

関連する問題