Только один результат, показываемый после запроса sql и цикла while - PullRequest
0 голосов
/ 23 декабря 2011

По какой-то причине это показывает только последний результат, а не показывает все. SQL работает в рабочей среде, и $ roommate экранируется, но код был обрезан для публикации:

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

}

1 Ответ

1 голос
/ 23 декабря 2011

Используйте mysql_num_rows(), чтобы определить количество строк, которые были возвращены вашим запросом.Если он сообщает, что вы получаете только 1 результат, вам нужно будет уточнить свой запрос, чтобы получить количество результатов, которые вы хотите.

Если вы используете одну из функций mysql_fetch_* перед циклом while, это продвинет курсор и заставит вас пропустить один или несколько результатов в цикле while.Если это так, вызовите mysql_data_seek($result, 0) перед циклом while.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...