#php #mysql
#php #mysql
Вопрос:
Я некоторое время изучал PHP / Mysql. Но пока не знаю достаточно, чтобы сделать это.
У меня есть таблица «города»
Я использую этот запрос "SELECT * FROM cities GROUP BY country"
Я могу выводить результаты с помощью
<?php do { ?>
<div class="cities">
<h4><a href="/cities/?id=<?php echo $row_cities['id']; ?>"><?php echo $row_cities['city']; ?></a></h4>
</div>
<?php } while ($row_cities = mysql_fetch_assoc($cities)); ?>
Группировка по странам в запросе select приводит к тому, что результаты содержат только один город для каждого
страна.
Я хочу создать «показать дополнительную кнопку / ссылку», при нажатии на которую будут показаны все города для каждой страны.
Это не очень сложно, что-то вроде этого сделало бы свое дело.
<a href="/cities/?country=<?php echo $row_cities['country']; ?>">Show More</a>
Тем не менее, я бы хотел, чтобы эта кнопка «Показать больше» была более «сложной».
a). Кнопка показать больше должна появляться только в том случае, если результаты по каждому городу больше 1.
б). Показать больше текст также должен содержать число, указывающее количество результатов, например, Показать еще 1, Показать еще 2, Показать еще 3 и т.д.
Мы будем очень признательны за вашу помощь
Ответ №1:
Это сделает
SELECT cities.id, cities.country, cities.city, count(*)
FROM cities
GROUP BY cities.country
Последнее выбранное поле будет содержать количество элементов в каждой группе.
Комментарии:
1. Отлично. Это то, что мне было нужно. Затем я могу сконструировать операторы if и else для обработки погоды, должна появиться кнопка показать больше или нет.