Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Пересчет из евро в рубли на сайте


Автор: kminas 28.4.2017, 13:30
Всё перечитал, но не разобрался. В php не силён, могу только встраивать и настраивать. На сайте есть определённая цена на товар в евро, например, 10000. Надо, чтобы автоматически высвечивалась сумма в рублях по текущему курсу. Можно ли это сделать средствами php и, если нетрудно, приблизительный код. Спасибо.

Автор: vpf 28.4.2017, 14:48
Посмотрите среди учебных курсов "Школа программирования".

Автор: vpf 28.4.2017, 14:49
картинка

Автор: kminas 28.4.2017, 18:12
Спасибо! smile 

Автор: kminas 28.4.2017, 18:50
Извините, наверно я совсем тупой!? Мне нужно не совсем это. 1. На сайте есть товары с постоянными ценам. Цену не надо вводить посетителю. 2. У каждого товара своя страница с ценой. 3. Цены в евро. 4. Курс евро к рублю должен быть вставлен из текущего курса ЦБ. 5. Дата тоже не нужна. Другими словами. На каждой странице должно быть просто окошко (или без окошка) с уже пересчитанной ценой в рублях, просто чтобы брался курс ЦБ и куда-то вставлялся как сомножитель, либо 2 окошка, но цена в евро стояла по умолчанию моя. 

Автор: kminas 2.5.2017, 11:41
vpf, спасибо за подсказку. К сожалению, курсы я пока не нашёл, но предыдущий Ваш ответ натолкнул меня на поиски и файл php я сделал. Туда передаётся текущий курс Центробанка. А дальше чего-то не понимаю. Например, как вытащить из php файла переменную с текущим курсом и умножить её на мое число. Составил код произведения:
Код

<?php
$a = 1500;
$b = echo $euro;
$c = $a * $b;
?>
 
а как в коде указать файл из которого эту переменную брать не знаю. А может ещё и код неверный?

Автор: vpf 2.5.2017, 13:42
Уточните вопрос.
У Вас есть Ваш файл php. Вы говорите, что "туда передается курс Центробанка". Y
Не вижу значения курса. Есть переменная $euro которая вроде как отвечает за курс,
но значения его тут нет. И оно ниоткуда не считывается. 
Вопрос, откуда берется курс  и как задается значение переменной $euro.
Ну допустим этот вопрос решен, и переменная $euro отвечает за курс.

Вопрос 2, Вы пишете "как выташить из php файла переменную с текущим курсом. 
http://www.cyberforum.ru/php-beginners/thread92165.html

То есть решение для Вас такое, скажем файл который Вы привели называется  "course.php"
В новый файл включаете следующие строки. И все, курс будет выведен. Вы можете также использовать для калькулятора.
Код

<?php
include_once("course.php");
echo "курс равен $euro";

?>


Автор: kminas 2.5.2017, 16:35
vpf, спасибо попробую, что получится потом сообщу.

Автор: kminas 2.5.2017, 17:48
vpf, ничего не получается. Вот код файла course.php
Код

<?php
  $content = get_content();
 
  $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
  preg_match_all($pattern, $content, $out, PREG_SET_ORDER);

  $euro = "";
  foreach($out as $cur)
  {

    if($cur[2] == 978) $euro   = str_replace(",",".",$cur[4]);
  }

  echo "".$euro."<br>";

function get_content()
{

    $date = date("d/m/Y");

    $link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date;

    $fd = @fopen($link, "r");
    $text="";
    if (!$fd) echo "Сервер ЦБ не отвечает";
    else
    {

      while (!feof ($fd)) $text .= fgets($fd, 4096);
 
      fclose ($fd);
    }
    return $text;
  }
 ?>
 

Автор: vpf 2.5.2017, 20:14
файл index.php
Код

<?php
include "course.php";
echo "Currency calculator:<br>";
$euro = get_euro();
$a = 1500;
$b = $a*$euro;
echo "course of euro: $euro<br>";
echo "result: $a * $euro = $b<br>";
?>

файл course.php
Код

<?php

  function get_euro()
  {
  $content = get_content();
 
  $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
  preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
  $euro = "";
  foreach($out as $cur)
  {
    if($cur[2] == 978) $euro   = str_replace(",",".",$cur[4]);
  }
   return $euro;
  }
function get_content()
{
    $date = date("d/m/Y");
    $link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date;
    $fd = @fopen($link, "r");
    $text="";
    if (!$fd) echo "Сервер ЦБ не отвечает";
    else
    {
      while (!feof ($fd)) $text .= fgets($fd, 4096);
 
      fclose ($fd);
    }
    return $text;
  }
 ?>

Прикрепляю результат на картинке

Автор: kminas 2.5.2017, 22:55
Большое спасибо, vpf! Только одно но... Мне нужен не отдельный файл с расчётом, а желательно, внутри каждого html файла, т.к. в каждом файле свой товар со своей ценой. Если же я просто вставляю код из файла index.php, то на сайте этот код и отображается, а если добавляю в .htaccess строку
Код

AddType application/x-httpd-php .php .htm .html
 страницы перестают открываться, а скачиваются.

Автор: vpf 3.5.2017, 10:19
Выложите сюда одну страничку с товаром, реальную, подумаю.

Автор: kminas 3.5.2017, 11:28
Вы имеете ввиду код или ссылку?
Послал код страницы в личку.

Автор: vpf 3.5.2017, 12:06
да ступил, там походу нужен целый движок сайта.  В общем мой совет такой. найдите на сайте некий файл, к которому имеет доступ каждая страница с товаром и встройте туда
вызов функции $euro = get_euro().  А затем эту переменную используйте в самой странице товара при выдаче цены товара в формуле, которая уже формирует эту цену.
В общем виде как то так.

Автор: kminas 3.5.2017, 12:13
На сайте движка нет - он на чистом html.

Автор: vpf 3.5.2017, 12:34
Письмо не пришло,  или оно будет идти полдня, либо вообще не придет  
Прикрепил скриншот.
завел временный почтовый ящик, пишите туда [email protected]

Автор: vpf 4.5.2017, 15:10
письмо получил ответ отправил.

Автор: vpf 5.5.2017, 13:22
Прикрепил архив с файлом htm и подключенным к нему php. 
Если PHP сервер установлен, то все должно работать. Проверил на сборке Denver.
На картинке результат  Если все таки не работает... вот посмтрите ссылки
https://www.jino.ru/help/faq/php/php-in-html/  
https://toster.ru/q/178107
Да еще, как создать файл .htaccess на всякий случай 
https://www.google.ru/#newwindow=1&q=%D0%BA%D0%B0%D0%BA+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C+htaccess

Автор: vpf 5.5.2017, 13:23
картинка

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)