Но при этом мы не хотим перезагружать страницу.
Данный вопрос периодически всплывает на форуме, поэтому я и решил создать эту тему.
И вообще - возможно ли такое? Ответ краток: да, возможно!
Объясняю "на пальцах" алгоритм.
1. Надо сделать на странице картинку такого примерно вида:
<img id="pict" src="diagramm.php" />
2. В зависимости от изменений на странице, меняем src для данной картинки, примерно так (некие абстрактные параметы, которые можно использовать для некой круговой диаграммы); тут показан принцип, а не полный код; величины можно брать из каких-то полей:
src="diagramm.php?w=500&h=300&perc=70&color=5"
Изменения делаются средствами JS. Если необходимо запросить какие-то данные с сервера, то можно использовать AJAX. Но он тут не является обязательным.
В указанных параметрах предполагается, что выставляем ширину картинки 500 пикселей, высоту - 300, надо закрасить 70% круга, использовать цвет номер 5 (некий индекс цвета, известный скрипту).
Естественно, в реальном скрипте могут быть другие параметры :)
3. Надо сделать скрипт diagramm.php, который и построит нужный график, в зависимости от указанных параметров (которые будут приняты в нём как GET-параметры). Этот скрипт будет строить (динамическую) картинку и отдавать её браузеру. И будет он использовать библиотеку GD2 или Imagik.
Браузер, видя изменения в src, будет запрашивать новый источник. То есть, будет вызывать скрипт diagramm.php с новыми параметрами...
Получаем: страница, на которой мы что-то делаем, не перезагружается целиком. Но в ответ на действия пользователя он видит изменения картинки. Результат достигнут.
Тему сразу же закрываю. Если есть вопросы, задавайте их в отдельных темах.
_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL
* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.
* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)