Ни в коем случае. Поясняю. Записи не линейны. Допустим вы добавили запись 1, 2, 3, 4, 5. Потом вы посчитали запись 3 неактуальной и удалили её. Теперь у вас 4 записи 1, 2, 4, 5, но MAX(`id`) будет равен 5. Соответственно 5 записей, но в действительности их 4. Конец цикла должен рассчитываться или из результата возврата функции mysql_num_rows, или запроса с count(*). Можно просто работать с функцией mysql_fetch_*, которая автоматически вернет false, когда строки закончатся. Т.е: PHP: <? while($row = mysql_fetch_object($query)) { //TODO: ... } ?> Сам столбец `id` должен быть первичным ключом.
Зацикливания произойти не может =)) Я понимаю ваше желание использовать умные словечки и всё такое (это естественно для всех людей), но всё-таки это неверно =) Произойдет не зацикливание, просто в С++ мы бы это назвали выход за границы массива. Цикл пройдет лишних "у" раз по элементам, которых нет.
Нет это не курсовая)) Такая радость, потому что мучаюсь не первый день. Вроде простенькая задачка. С С\С++ знакома, а вот с синтаксисом php и sql не очень.
Рано обрадовалась. На Денвере действительно все работает. Стала переносить в инет, вот такая картинка PHP: $query1 = mysql_query("SELECT MAX(id) as `id` FROM `flats`"); $id = mysql_fetch_object($query1)->id; //строка 73 Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/../input3.php on line 73 Версия Php на денвере PHP Version 5.2.4 Версия PHP в инете PHP 4.1.0 Проблема видимо в разнице версий, а как ее решить найти не могу. Подскажите пжл
Заменить строку PHP: $id = mysql_fetch_object($query1)->id; //строка 73 на следующую PHP: $id = mysql_fetch_assoc($query1); $id = $id["id"]; С новым годом, Юль!