0

了解しました。データベースから複数行のデータを出力するのに問題はありません。必要な形式でデータを取得する方法がわかりません。

これが私の基本的な問題です。

<tr>
    <?php               
    //make connection to database, bail if no connection
    $connection = odbc_pconnect('sitedata','','');
    if (!$connection) { exit("Connection Failed: " . $connection); }

    //retrieve relevant data
    $Date = "SELECT EntryDate AS DT FROM TimeSheet WHERE EmployeeID = 'AA01'";

    $rs = odbc_exec($connection, $Date);

    //output data
    while(odbc_fetch_row($rs)) {
        $Line1 = odbc_result($rs, 'DT');
        printf("<td><center>%s</center></td>", $Line1);                 
    }
    ?>
</tr>

これにより、1行のテーブルが出力され、新しい日付ごとに新しい列が作成されます。

さて、これは私には役に立たないものです。これらは単一の列に出力する必要があり、新しいデータ値はそれぞれ行の先頭になります。この後、テーブルの幅を広げて、次のような新しいデータ値を追加する必要があります。

$Time = "SELECT TotalTime as EN FROM TimeSheet WHERE EmployeeID = 'AA01'";
$JobName = "SELECT JobName as JN FROM TimeSheet WHERE EmployeeID = 'AA01'";

Timeは独自の列、JobNameは独自の列などです。

これをどのように正確に行うのですか?明らかに方法があるに違いありません、私はこれでちょうど新しいです。どんな助けでも大歓迎です!

4

1 に答える 1

1

1つのSQLステートメントでフィールドを取得する必要があります...

SELECT EntryDate AS DT, TotalTime as EN, JobName as JN 
    FROM TimeSheet WHERE EmployeeID = 'AA01';

これにより、列ではなく完全な行を作成する以外は、現在行っていることを正確に実行できます。

<?php               
    //make connection to database, bail if no connection
    $connection = odbc_pconnect('sitedata','','');
    if (!$connection) { exit("Connection Failed: " . $connection); }

    //retrieve relevant data
    $Date = "SELECT EntryDate AS DT, TotalTime as EN, JobName as JN FROM TimeSheet WHERE EmployeeID = 'AA01';";

    $rs = odbc_exec($connection, $Date);

    //output data
    while(odbc_fetch_row($rs)) {
        $DT = odbc_result($rs, 'DT');
        $EN = odbc_result($rs, 'EN');
        $JN = odbc_result($rs, 'JN');

        printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>", $DT, $EN, $JN);                 
    }
?>
于 2012-11-08T13:59:03.810 に答える