Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Вывести в html с помощью Java переменную PHP (https://javascript.ru/forum/server/63996-vyvesti-v-html-s-pomoshhyu-java-peremennuyu-php.html)

DDSSDD 13.07.2016 12:57

Вывести в html с помощью Java переменную PHP
 
Есть PHP скрипт с ценами на товар, корректируемые по курсу доллара.
Есть статическая страница HTML, где эти цены должны отображаться в соответствующих блоках.
Мне нужно, что бы, например, в бокс id1 выводилась одна цена из PHP файла, в бокс id2 - другая и т. д.
Сейчас я могу вывести только результат работы PHP скрипта в один конкретный div HTML страницы. Подскажите как выводить выводить конкретные переменные PHP файла в конкретные divы HTML страницы.
Скрипт который выводит содержимое все работы PHP в div.
<script type="text/javascript">
function sbm() {
$.post('ceny.php', $('#page').serialize(), function (response) {$('#cena').html(response);});

}
</script>

<body onload="sbm()">
<input id="page" name="page" value="1"/>
<div id="cena"></div>

laimas 14.07.2016 01:52

Если серверный скрипт пишет нечто в файл, то этот файл не статическая страница HTML.

DDSSDD 14.07.2016 10:25

Спасибо, Кэп...

laimas 14.07.2016 12:42

На здоровье. Если сервер пишет в эту страницу, то что мешает вывести готовое представление всех товаров?

DDSSDD 14.07.2016 13:22

Каждому товару своя страница HTML (их не много).
Есть общая страница с всеми товарами. И вот в нее нужно из PHP грузить цены в каждый отдельный див с товаром.
Проблема была в том, что я хотел через JS получать значение переменных PHP файла и сразу же их распихивать по названию переменных в нужные блоки с товаром. В итоге запарился я с этим всем и решил через ж..пу:
1. На общей странице с товарами поставил скрытый input с value, который через JS методом post передается обработчику PHP;
2. PHP в свою очередь по этому value генерит кучу div-ов с ценами и уникальными ID, которые JS затем помещает в скрытый контейнер на общей странице;
3. Ну а дальше через селектор appendTo по ID распихиваю их уже по нужным блокам с товаром.

Вот так вот - через задницу, но работает. Это все же лучше, чем такая "быстрая и полезная помощь" на этом форуме... Хотя бы подсказали куда копать...

DDSSDD 14.07.2016 13:29

Думаю, что все это решается с помощью массивов, но че то, как то мне было в лом заморачиваться с ними...

laimas 14.07.2016 13:54

Цитата:

Сообщение от DDSSDD
Есть общая страница с всеми товарами. И вот в нее нужно из PHP грузить цены в каждый отдельный див с товаром.

У вас эту страницу кто отдает - Апач как статическую (что в общем трудно представить, если товары в базе) или же РНР формирует? Если второе, то в чем проблема?

Каждому товару своя страница HTML (их не много). - тоже статические?

Вам не кажется, что у вас не сайт, а куча граблей?

DDSSDD 14.07.2016 14:04

Цитата:

Сообщение от laimas (Сообщение 422059)
У вас эту страницу кто отдает - Апач как статическую (что в общем трудно представить, если товары в базе) или же РНР формирует? Если второе, то в чем проблема?

Каждому товару своя страница HTML (их не много). - тоже статические?

Вам не кажется, что у вас не сайт, а куча граблей?

Ни что не отдает страницу))) Все сверстано руками на HTML! Нет базы данных. Это сайт на 15 страниц с 10-ю услугами.
Нет ни админок, ни ядра, ни БД - НИ-ЧЕ-ГО)))

Услуги постоянны и не меняются. Все, что меняется - это цена и алгоритм расчета стоимости работ и материалов. Все. Вот этим и занимается обработчик PHP - элементарный скрипт на логике.

Все, что мне было нужно - это выводить значение переменных внешнего PHP скрипта в конкретные блоки конкретных HTML страниц. Все.
Если бы HTML генерился бы PHP, то вопрос бы в костылях отпал сам собой, да и не нужно было бы лезть на сторону клиента.

Знаю, что есть куча профессиональных решений, типа интернет магазинов и т.д. на всяких движках с админками и кучей всего уже готового. Но мне это не нужно.

laimas 14.07.2016 14:32

У вас есть РНР. Всего-то нужно добавить расширение .html как исполняемые файлы в .htassecc. После этого можно делать вставки РНР кода в эти файлы, которые будет исполняться. Либо подключать в них файл РНР, который занимается расчетами.

Если на страницах выводится базовая цена, а цена по курсу как запрос, то это сервис, и просчитывать ее вполне удобно клиентским скриптом, но не через какой-то div, а получать курс из переменной прописанной в JS. Это также под силу сделать РНР, если этот курс или нечто связанное с ним изменяется, а подключение этого файла будет как

<script type="text/javascript" src="path/script.php"></script>

Если же цены, это цены уже скорректированные по некоторому курсу, то это должен делать сервер, зачем прятать нечто в скрытое, затем обращаться к серверу и т.д.. Как сделать сказано выше, и это только одно из решений.

Вы нагородили граблей, хотя под руками есть РНР, а вы его не используете.

DDSSDD 14.07.2016 15:30

Цитата:

Сообщение от laimas (Сообщение 422063)
У вас есть РНР. Всего-то нужно добавить расширение .html как исполняемые файлы в .htassecc. После этого можно делать вставки РНР кода в эти файлы, которые будет исполняться. Либо подключать в них файл РНР, который занимается расчетами.

Если на страницах выводится базовая цена, а цена по курсу как запрос, то это сервис, и просчитывать ее вполне удобно клиентским скриптом, но не через какой-то div, а получать курс из переменной прописанной в JS. Это также под силу сделать РНР, если этот курс или нечто связанное с ним изменяется, а подключение этого файла будет как

<script type="text/javascript" src="path/script.php"></script>

Если же цены, это цены уже скорректированные по некоторому курсу, то это должен делать сервер, зачем прятать нечто в скрытое, затем обращаться к серверу и т.д.. Как сделать сказано выше, и это только одно из решений.

Вы нагородили граблей, хотя под руками есть РНР, а вы его не используете.

Вот это конструктивно. Раньше бы посоветовали)) Я знал за
AddType application/x-httpd-php .html .htm
и как то пробовал. Но что то мне тогда не понравилось или не получилось.
А сейчас даже не вспомнил. Спасибо!


Часовой пояс GMT +3, время: 04:21.