0

レコードセットを取得した後、2 つのことを行います。最初のレコードから名と姓を出力し (すべてのレコードは同じ名前になります)、その下に、そのレコードセットのすべてのレコードをテーブルに出力します。最初のレコードを取得すると、ポインターが 1 レコード上に移動するため、これは機能しません。最初のレコードから姓と名を取得した後、ポインターをリセットしたいと思います。私は PDO を使用していますが、私が読んだこと以外に、mysql_data_seekは非推奨です。

これが私が現在行っている方法です(おそらく非効率的です。私がしているのは、同じクエリを再実行して完全なレコードセットを取得することだけです-それとも大丈夫ですか?):

   $query = "SELECT students.*, lessons.lessonname, assignments.assignmentid, assignments.complete, assignments.score    
            FROM lessons INNER JOIN 
            (assignments INNER JOIN students 
            ON assignments.studentid = students.id) 
            ON lessons.lessonid = assignments.lesson
            WHERE (((students.id)=".$_POST['viewstudentdrop']."))";
    $results = $pdo->query($query);
    $row = $results->fetch(); //just get the first record.
    echo 'Assignments for: ' . $row['firstname'] . " " . $row['lastname']. "<br>";        
    $results = $pdodl->query($query); //resets pointer
4

1 に答える 1

1
$results = $pdo->query($query);
$data = $results->fetchAll();
$row  = reset($data);
echo 'Assignments for: ' . $row['firstname'] . " " . $row['lastname']. "<br>";        
foreach ($data as $row) {
...
于 2013-02-13T18:46:51.083 に答える