何らかの理由で、これはすべてを表示するのではなく、最後の結果を表示します。 SQLは、ワークベンチで動作し、$ルームメイトがエスケープされていますが、コードは、投稿の目的のためにトリミングされています:sqlのリクエストとwhileループの後に表示される結果は1つだけです
$sql = "SELECT CONCAT(clients.studentFirstName, ' ', clients.studentLastName) AS name, appointments.location, appointments.subLocation, appointments.startTime, appointments.endTime, appointments.date
FROM appointments JOIN clients
ON appointments.clientID = clients.clientID
WHERE CONCAT(clients.studentFirstName, ' ', clients.studentLastName) = '".$roommate."';";
while ($row = mysql_fetch_array($result)) {
echo
'<table>
<tr>
<td>'
.$row["name"].
'</td>
<td>'
.$row["location"].
'</td>
<td>'
.$row["subLocation"].
'</td>
</tr>
<tr>
<td>'
.$row["startTime"].
' - </td>
<td>'
.$row["endTime"].
'</td>
<td>'
.$row["date"].
'</td>
</tr>
</table>';
}
あなたの 'mysql_query()'呼び出しはどこですか?そして、そのような複数行HTMLを出力するには、[HEREDOC](http://php.net/heredoc)を使用してください。あなたがそれを見ても、複数行の文字列の連結は醜いです。 –
私の呼び出しは実際のファイルにありますが、SQLは問題ではありません。ワークベンチで結果を取得しています...醜いフォーマットについて申し訳ありません、リソースのおかげで、私は今夜後で間違いなく読むでしょう – radleybobins
Okあなたがちょうどクエリ呼び出しを含んでいなければ、それはうまくいきます。しかし、あなたが投稿したコードには本当に間違ったものはありません。したがって、1行しか出力しない場合、クエリは1行しか取得しません。フェッチされた人の数を見るには 'echo mysql_num_rows($ result)'を使います。 –