Арифметические операции в PHP

leealex

Новичок
Арифметические операции в PHP

Здравствуйте, не могу элементарную функцию реализовать :(

есть 2 файла: 1.php и 2.php каждый из них выводит одно число, например первый выводит 66 а второй выводит цифру 9

пишу

<?php
$last = include ("1.php");
$curr = include ("2.php");
$result = $last - $curr;
echo $result;
?>

результат выдает вот такой:

669 0

если $last сделать равным 66 а $curr равным 9
т.е.
$last = 66;
$curr = 9;

то считает правильно, выдает 57

в чем ошибка?
 

Фанат

oncle terrible
Команда форума
в том, что ты не читал документацию по функции, которую используешь.
а арифметика тут не при чем
 

leealex

Новичок
вобщем обошелся без инклюда, просто собрал все функции в один файл :))

Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
.style1 {
 color: #666666;
 font-family: Geneva, Arial, Helvetica, sans-serif;
 font-size: 3; /* Размер шрифта в пунктах */
 background: #ffffff; /* Цвет фона */
}
.style2 {
 color: #ffffff;
 font-family: Geneva, Arial, Helvetica, sans-serif;
 font-size: 14pt; /* Размер шрифта в пунктах */
 background: #ff6600; /* Цвет фона */
}
.style3 {
 color: #ffffff;
 font-family: Geneva, Arial, Helvetica, sans-serif;
 font-size: 14pt; /* Размер шрифта в пунктах */
 background: #009900; /* Цвет фона */
}
.style3 a:hover {
 color: #009900; /* Цвет текста активного пункта */
 background-color: #ffffff; /* Цвет фона активного пункта */
}
</style>
</head>

<?php

function connect() {
     $dbHostName = "localhost";  
     $dbUserName = "****";
     $dbPassword = "***";
     $dbName = "***";          
     
     $connect = mysql_connect($dbHostName, $dbUserName, $dbPassword);
     $result = false;
     
     if ($connect) {
          $result = mysql_select_db($dbName);               
     }
     
     return $result;
}
     
function disconnect() {
     mysql_close();
}

connect();
$query = "SELECT COUNT(*) as domain FROM domains";
$result = mysql_query($query);
$res5 = mysql_fetch_assoc($result);
disconnect();

connect();
$d = date('d');
$ml = date('m')-1;
$mc = date('m');
$y = date('Y');

$query = "SELECT COUNT(*) as month_last FROM domains WHERE created>'$y-$ml-00' AND created<'$y-$mc-00'";
$result = mysql_query($query);
$res3 = mysql_fetch_assoc($result);
disconnect();

connect();
$query = "SELECT COUNT(*) as hosting FROM `hosting_v2`";
$result = mysql_query($query);
$res1 = mysql_fetch_assoc($result);
disconnect();

connect();
$query = "SELECT domain AS domain_last FROM domains ORDER BY created DESC LIMIT 1";
$result = mysql_query($query);
$res6 = mysql_fetch_assoc($result);
disconnect();

connect();
$d = date('d');
$ml = date('m')-1;
$mll = date('m')-2;
$y = date('Y');

$query = "SELECT COUNT(*) as month_last_last FROM domains WHERE created>'$y-$mll-00' AND created<'$y-$ml-00'";
$result = mysql_query($query);
$res4 = mysql_fetch_assoc($result);
disconnect();

connect();
$query = "SELECT COUNT(*) as user FROM `users`";
$result = mysql_query($query);
$res2 = mysql_fetch_assoc($result);
disconnect();

$host = $res1['hosting'];
$users = $res2['user'];
$month1 = $res3['month_last'];
$month2 = $res4['month_last_last'];
$domains = $res5['domain'];
$domain_last = $res6['domain_last'];
$summ = $month1 - $month2

?>

<body>
<table style="width: 480px;" border="0">
    <tr>
      <td><div class="style1">Зарегистрировано всего доменов:</div></td>
      <td><div class="style2" align="center"><?php echo $domains; ?></div></td>
    </tr>
    <tr>
      <td><div class="style1">Зарегистрировано доменов в прошлом месяце:</div></td>
      <td><div class="style2" align="center"><?php echo $month1; ?></div></td>
    </tr>
	<tr>
      <td><div class="style1">Размещено сайтов на LeeHost (хостинг):</div></td>
      <td><div class="style2" align="center"><?php echo $host; ?></div></td>
    </tr>
    <tr>
      <td><div class="style1">Зарегистрировано пользователей:</div></td>
      <td><div class="style2" align="center"><?php echo $users; ?></div></td>
    </tr>
    <tr>
      <td><div class="style1">Бизнес уровень в системе WebMoney:</div></td>
      <td bgcolor="#e3e2e2"><div align="center"><img
 src="https://stats.wmtransfer.com/Levels/pWMIDLevel.aspx?wmid=428161045605&amp;w=35&amp;h=18&amp;bg=0XDBE2E9"></div>
      </td>
    </tr>
</table>
<table style="width: 480px;" border="0">
    <tr>
      <td><div class="style1">Последний зарегистрированный:</div></td>
	  <td><a href="http://www.<?php echo $domain_last; ?>" target="_blank"><div align="right" class="style3"><?php echo $domain_last; ?>&nbsp;</div></a></td>
    </tr>
</table>
</body>
</html>
<?php echo $summ; ?>
-~{}~ 03.06.09 21:30:

может быть написано коряво, но работает :)) да и потом я новичок так что для меня и так сойдет :))

-~{}~ 03.06.09 21:32:

у меня возник еще такой вопрос:

самая последняя строчка <?php echo $summ; ?> это как раз то что я и хотел выводить, разницу между двумя месяцами, это число бывает положительным и отрицательным. Как сделать разное форматирование для положительного и отрицательного значений ? например цвет текста красный либо зеленый в завис-ти от типа результата
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
[m]language.operators.comparison[/m]
[m]control-structures.if[/m]
 

leealex

Новичок
благодарю :) пошел разбираться :)

-~{}~ 03.06.09 22:34:

не поможете? определяем число положительное или отрицательное, как привязать результат к форматированию текста?
например $summ положительное, какое должно выводиться выражение?

<?php
if($summ>0)
{
цвет_текста_зеленый;
}
?>

прямо внутри пхп можно использовать стили или хтмл теги форматирования?
 

Фанат

oncle terrible
Команда форума
внутри - нельзя.
но у тебя есть теги <? ?>
connect() и disconnect() надо вызывать по одному разу на весь скрипт
 

leealex

Новичок
не могу сообразить как всетаки связать форматирование текста со скриптом пхп %)

-~{}~ 03.06.09 23:08:

подкиньте пожалуйста еще подсказку :)

-~{}~ 03.06.09 23:28:

все, уже сам допер :))

-~{}~ 03.06.09 23:37:

вот как сделал

<?php
if($summ>0)
{
$style = "style_pos";
$summ = "+$summ";
}
else
{
$style = "style_neg";
}
?>

и уже эти переменные использовал в стилях :)

-~{}~ 04.06.09 00:17:

а то что у меня куча конект/дисконект это не есть хорошо?
лучше объединить в один блок?
 

Фанат

oncle terrible
Команда форума
не надо ничего никуда объединять. надо просто выкинуть лишние вызовы
 

Major

Новичок
<?php
$last = include ("1.php");
$curr = include ("2.php");
$result = $last - $curr;
echo $result;
?>

если $last сделать равным 66 а $curr равным 9
т.е.
$last = 66;
$curr = 9;
Такое, что ты описал сделать можно, зачем, мне пофиг =) Только надо писать так:

-- 1.php --
<?php return 66; ?>

-- 2.php --
<?php return 9; ?>

Тогда

<?php echo include '1.php' - include '2.php'; ?>

даст то, что ты ожидал.

Для фанатов клуба ;) Зачем я это показал? Чтобы человек знал что так можно делать, но вот зачем и когда - ему решать, когда придет время =)
 

Фанат

oncle terrible
Команда форума
Ты это показал для того, чтобы показать всем, какой ты умный и начитанный.
А поставленной задаче этот код не отвечает. Если уж буквально читать вопрос, то буфферинг.
Не говоря уже о
 

Major

Новичок
Фaнaт
Нет. Я показал это затем, чтобы

человек знал что так можно делать, но вот зачем и когда - ему решать, когда придет время
Я дальше стартового поста даже не читал особо (признаюсь честно).
Удалить предыдущий пост?
 

Фанат

oncle terrible
Команда форума
Не надо.
Мне просто кажется, что это знание - одно из самых бесполезных в пхп. Лично я ни разу не воспользовался. Я понимаю - действительно какой-то был бы полезный трик. А тут есть очень большая вероятность, что не понадобится никогда в жизни. Отсюда вывод - пишем только чтобы повыпендриваться :)
 

Major

Новичок
---------- OFFTOP 4 Фaнaт -----------

Почему?

Пример хранения файла:
---- file_cache/some_cashed_data.php ---
<?php return $some_cached_object_or_array_data; ?>

Не буду говорить что это супер пуре тема, но все же... Идея имеет право на существование =)

Более того, если человек будет писать консольные скрипты, то, вообще-то, иногда есть необходимость возвращать код ошибки. Так что темы вроде "return error_code" вполне применимы на практике!
 

leealex

Новичок
ну я консольные скрипты точно не буду писать :))) какой из меня скриптер :))) делаю только первые шаги и хорошо, что получилось без инклюда все сделать, спасибо всем за оказанную помощь, результат достигнут, если интересно можно взглянуть (не сочтите за рекламу, просто показываю что получилось в результате совместных усилий, благодаря этому форуму :)) скрипт статистики выводится в правом нижнем углу страницы - http://www.leehost.ru

извиняюсь за флуд, но хотелось бы отметить манеру помогать на этом форуме, здесь не пишут скрипт за тебя мол пиши то и это, а лишь дают направление. Сначала мне это не понравилось но потом понял что так лучше для всех, в первую очередь для новичков, что позволит им именно научиться а не бездумно втыкать чужой код в скрипты :)
Еще раз спасибо :)
 
Сверху