помощь по php

12
D
На сайте с 25.07.2006
Offline
92
dfg
#11

такс! чтото с локальным сервером, на удаленном все работает! дело за малым решить простой пример

(сумма = а) * (на курс USD = b) + (2% = c) и вывести результат на бланк извещения, т.е. (a*b+2%= результат) всего нечего, а зделать немогу! :)

-K- а такой вариант неработает, выводи 0,00

AS
На сайте с 10.04.2006
Offline
24
#12
dfg:
такс! чтото с локальным сервером, на удаленном все работает! дело за малым решить простой пример
(сумма = а) * (на курс USD = b) + (2% = c) и вывести результат на бланк извещения, т.е. (a*b+2%= результат) всего нечего, а зделать немогу! :)

-K- а такой вариант неработает, выводи 0,00


$result = $a * $b + ($a * $b * 2 / 100);
Простая и быстрая регистрация в каталогах. SST: Poster (http://smileseo.ru)
AS
На сайте с 10.04.2006
Offline
24
#13

Замени в примере -K-

строку

$handle = fopen($scripturl, "r");

на

$handle = fopen($requrl, "r");

-
На сайте с 07.12.2005
Offline
97
-K-
#14

Вот рабочий вариант:


function currency($currency_code)
{
$scripturl = "http://www.cbr.ru/scripts/XML_daily.asp";
$doc = "";
$handle = fopen($scripturl, "r");
while (!feof($handle)) {
$doc .= fread($handle, 8192);
}
fclose($handle);
$r = array();
preg_match("/<Valute ID=\"".$currency_code."\">(.*)<\/Valute>/is", $doc, $m);
preg_match_all("/<Value>([0-9,]+)<\/Value>/is", $m[1], $r, PREG_SET_ORDER);
return str_replace(",", ".", $r[0][1]);
}

echo currency("R01235");
AS
На сайте с 10.04.2006
Offline
24
#15

-K- Вы забыли указать параметр "дата", так как без параметра мы получим документ на последнюю зарегистрированную дату, в данном случае это завтра(13.01), так как курс на завтра уже известен, банковский день закрыт.


$scripturl = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=".date('d/m/Y');
Shema
На сайте с 01.12.2005
Offline
176
#16

А кеширование Пушкин будет делать?

Сайт cbr.ru частенько лежит...

Лучше всего время от времени скачивать этот файл (по cron или php-скриптом) и потом брать локально всегда.

Студия Design Coda (http://www.designcoda.ru/). Личные контакты: +7(903)1367564, skype:andrey.oshemkov, telegram:@oshemkov. WMID: 492025973671 (https://passport.webmoney.ru/asp/certview4.asp?wmid=492025973671), делаем и рекламируем сайты, мобильные приложения, ботов для Telegram.
D
На сайте с 25.07.2006
Offline
92
dfg
#17

Ребята! агромное спасибо, зделал почти все что хотел за исключением

(a*b+2%= результат)
но это теперь неважно, хотя хотелось бы! зделал даже так что после заполнения формы данные отправляются на емайл :) понимаю для вас это пустяк как и для меня теперь! СПАСИБО всем!

Теперь у меня возник такой вопрос? уж очень мне понравилось работать на php, есть ли хороший редактор php с подсветкой синтаксиса желательно? что-то типа "Dreamweaver"

!kt0
На сайте с 28.06.2006
Offline
46
#18

Пользовался раньше блокнотом под названием "Bred". В настройках плагин cooler. (подсвечивает очень много языков)

Сейчас и так нормально =)

http://seorepa.com/ (http://seorepa.com/) - блог был там, пока не запилили mchost
M
На сайте с 14.01.2007
Offline
6
#19

можно xml разборщиком сделать с кэшированием


<?

class get_valute
{

var $valute_id = "R01235";
var $url = "http://www.cbr.ru/scripts/XML_daily.asp";
var $cache_file = "cache/valute.txt";
var $default = array("NOMINAL"=>1, "VALUE"=>27);
var $record = false;
var $valute = array();
var $index = "";
var $xml_parser;

function valute()
{
if ( ($data = $this->from_file()) && $data['DAY']==date( "d.m.Y" ) )
$this->valute = $data['VALUTE'];
else
{
if ( $this->get_from_xml() )
$this->in_file();
else
$this->valute = $this->default;
}
}

function startElement($parser, $name, $attrs)
{
if ( $name == "VALUTE" && $attrs['ID']==$this->valute_id ) $this->record = true;
if ( $this->record && ( $name == "NOMINAL" || $name == "VALUE" ) ) $this->index = $name;
}

function characterData($parser, $data)
{
if ( $this->record && $this->index != "" ) $this->valute[$this->index] = $data;
}

function endElement($parser, $name)
{
$this->index = "";
if ( $name == "VALUTE" && $this->record ) $this->record = false;
}

function get_from_xml()
{
if ( $fp = fopen( $this->url, "r" ) )
{
$this->xml_parser = xml_parser_create();
xml_parser_set_option($this->xml_parser, XML_OPTION_CASE_FOLDING, TRUE);

xml_set_object($this->xml_parser, $this);

xml_set_element_handler( $this->xml_parser, "startElement", "endElement" );
xml_set_character_data_handler( $this->xml_parser, "characterData" );

while ($data = fread ($fp, 64))
{
if ( !xml_parse( $this->xml_parser, $data, feof( $fp ) ) ) return FALSE;
}
xml_parser_free( $this->xml_parser );
return TRUE;
}
else
return FALSE;
}

function from_file()
{
if ( file_exists( $this->cache_file ) )
{
$data = @file_get_contents( $this->cache_file );
$data = unserialize($data);
return $data;
}
return false;
}

function in_file()
{
$fp = fopen( $this->cache_file, "w" );
fwrite( $fp, serialize( array( "DAY"=>date( 'd.m.Y' ), "VALUTE"=>$this->valute ) ) );
fclose( $fp );
}
}
?>

и вызов в скрипте


<?
include ("class.php");

$valute = new get_valute;
$valute->url = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=".date( 'd/m/Y' );

$valute->valute();

echo $valute->valute['VALUE'];

?>
opaHzheBb1u
На сайте с 26.05.2006
Offline
168
#20
dfg:
что-то типа "Dreamweaver"

php expert editor - лучший имхо

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий