0

ここで PHP と Mysql を学ぶのは本当に初めてで、独学しようとしています! テーブルから特定のフィールド名を表示していまし echo mysql_field_name($result, 0) たが、番号を変更することでどれを変更できますか。私の質問は、2-8 などの特定のフィールド名のリストをエコーし​​て、それらを html テーブルに入れるにはどうすればよいですか?

ありがとうございました!

4

3 に答える 3

1

というわけでコメントを少々…

まず、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()を使用してそのデータを取得できます。

于 2013-10-02T18:15:04.437 に答える
0

PDO や mysqli (mysql の代わりに使用する必要があります) などのライブラリを使用し、オプションを使用してデータの各行を連想配列として取得する場合、フィールド名は配列のキー値になります。この方法では、フィールド名を取得するために個別にクエリを実行するための追加のオーバーヘッドなしで、フィールド名を取得できます。

于 2013-10-02T18:09:10.593 に答える
0

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>';
?>

これで質問に対する回答が得られない場合は、お知らせください。

于 2013-10-02T18:24:15.500 に答える