ここで PHP と Mysql を学ぶのは本当に初めてで、独学しようとしています! テーブルから特定のフィールド名を表示していまし
echo mysql_field_name($result, 0)
たが、番号を変更することでどれを変更できますか。私の質問は、2-8 などの特定のフィールド名のリストをエコーして、それらを html テーブルに入れるにはどうすればよいですか?
ありがとうございました!
というわけでコメントを少々…
まず、mysql_ ライブラリは 5.5 以降では廃止されています。PHP を初めて使用する場合は、代わりにmysqli ライブラリを学習し、オブジェクト バージョンを使用することを強くお勧めします。私の例では、mysqli オブジェクトがあることを前提としています。同じことを行う手続き的な方法があります。毎回 DB 接続ポインターを渡すだけで済みます。
したがって、DB コネクタを使用したある種のクエリがあります。
$sql = 'Some statement here';
$result = $mysqli->query($sql);
この時点で、結果が得られました。テーブルからデータを取得するには、mysql_field_name よりも優れた方法がいくつかあります。1 つは fetch_object で、もう 1 つは fetch_assoc です。違いは、fetch_assoc は連想配列を提供し、もう一方はオブジェクトを提供することです。
$row = $result->fetch_assoc();
echo $row['fieldname'];
$row = $result->fetch_object();
echo $row->fieldname;
データを取得する方法は他にもありますが、これらは最も理解しやすいため、最も一般的な 2 つの方法です。
フィールドの名前がわからない場合は、いつでもfetch_fields()を使用してそのデータを取得できます。
PDO や mysqli (mysql の代わりに使用する必要があります) などのライブラリを使用し、オプションを使用してデータの各行を連想配列として取得する場合、フィールド名は配列のキー値になります。この方法では、フィールド名を取得するために個別にクエリを実行するための追加のオーバーヘッドなしで、フィールド名を取得できます。
MySqli を使用する場合は、While ループを使用して簡単に実行できます。表に表示したい場合は、非常に簡単です。
データ ソースに接続します (mysqli ではなく mysql を使用している場合は、切り替えることをお勧めします)。
$con=mysqli_connect("example.com","peter","abc123","my_db");
次に、SQL スクリプトを実行してデータを取得します。
$mydata = mysqli_query($con, "SELECT * FROM mytable");
ここで、表に表示するために While ループが使用されます。
echo '<table><tr><th>Field1</th><th>Field2</th></tr>';
//This bascially says while you can fetch data from your database, do the
//the following with the label $mytable.
while($mytable = mysqli_fetch_array($mydata)) {
echo '<tr><td>'.$mytable['yourfieldnameinyourdb'].'<td>';
echo '<td>'.$mytable['your2fieldnameinyourdb'].'</td></tr>';
}
echo '</table>';
したがって、完全なコードは次のようになります。
<?
// Connect your your DB
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Get your data
$mydata = mysqli_query($con, "SELECT * FROM mytable");
// Start the table
echo '<table><tr><th>Field1</th><th>Field2</th></tr>';
// Do the loop
while($mytable = mysqli_fetch_array($mydata)) {
echo '<tr><td>'.$mytable['yourfieldnameinyourdb'].'<td>';
echo '<td>'.$mytable['your2fieldnameinyourdb'].'</td></tr>';
}
// End your table
echo '</table>';
?>
これで質問に対する回答が得られない場合は、お知らせください。