Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вычисление % соотношения, работа с эл-ми массива 
:(
    Опции темы
Gumi
  Дата 30.3.2012, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 19.10.2011

Репутация: нет
Всего: нет



Добрый день.

есть рабочий код следующего вида:
Код

<tr>
<td rowspan=2 width="13%"><span lang="ru">1</span></td> 
<?
$storeProc1 = mssql_init('sp_test;2');
mssql_bind($storeProc1,"@dat1",date($data1.$maxm[$j]."01"), SQLVARCHAR); 
mssql_bind($storeProc1,"@dat2",date($data1.$maxm[$j].$maxd['$j']), SQLVARCHAR);     
$rs1= mssql_execute($storeProc1);   
do 
{
while ($row1 = mssql_fetch_row($rs1))
{
echo ("<td>" .$row1[0]. "</td>" );
} 
}
while (mssql_next_result($rs1)); 
mssql_free_result($rs1);    
?>
  <td rowspan=2 width="7%" align="center"><?echo $sump;?>&nbsp;</td>
  <td rowspan=2 width="7%" align="center"><?echo $sump;?>&nbsp;</td>
</tr>
<tr> 
<?
$storeProc1 = mssql_init('sp_test;2');
mssql_bind($storeProc1,"@dat1",date($data2.$maxm[$j]."01"), SQLVARCHAR); 
mssql_bind($storeProc1,"@dat2",date($data2.$maxm[$j].$maxd['$j']), SQLVARCHAR);     
$rs2= mssql_execute($storeProc1);   
do 
{
while ($row2 = mssql_fetch_row($rs2))
{
echo ("<td>" .$row2[0]. "</td>" );
} 
}
while (mssql_next_result($rs2)); 
mssql_free_result($rs2);    
?>
</tr> 


теперь необходимо вычислить % соотношение между элементами двух массива
написала так, но данное вычисление не работает
Код

<tr>
<?

do 
{

while ($row1 = mssql_fetch_row($rs1) && $row2 = mssql_fetch_row($rs2))
{
echo  ("<td>" .round((($row1[0] * 100 / $row2[0])-100),2). "</td>");    
} 
} 
while (mssql_next_result($rs1) && mssql_next_result($rs2)); 

mssql_free_result($rs1 && $rs2);    

?>
</tr>


Подскажите как можно применить формулу?
PM MAIL   Вверх
Fortop
Дата 30.3.2012, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



почему не работает ваш код?
В чем заключается его "не работает"?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Gumi
Дата 30.3.2012, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 19.10.2011

Репутация: нет
Всего: нет



массив $row1 возвращает результат:
1184  2742  287 ...
массив $row2 возвращает результат:
1052  2446  316 ...

и мне надо сделать следующее вычисление над элементами массива:
((1184*100)/1052)-100 = 12,55 
((2742*100)/2446)-100 = 12,10
.... 



для кода
Код

<tr>
<?

do 
{

while ($row1 = mssql_fetch_row($rs1) && $row2 = mssql_fetch_row($rs2))
{
echo  ("<td>" .round((($row1[0] * 100 / $row2[0])-100),2). "</td>");    
} 
} 
while (mssql_next_result($rs1) && mssql_next_result($rs2)); 

mssql_free_result($rs1 && $rs2);    

?>
</tr>

выскакивают след. ошибки 
Warning: mssql_fetch_row(): 5 is not a valid MS SQL-result resource
Warning: mssql_next_result(): 5 is not a valid MS SQL-result resource
Warning: mssql_free_result(): supplied argument is not a valid MS SQL-result resource

Это сообщение отредактировал(а) Gumi - 30.3.2012, 09:36
PM MAIL   Вверх
ashain
Дата 30.3.2012, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 3.7.2011

Репутация: нет
Всего: 1



Судя по всему что то с rs1 и rs2. Откуда они вообще берутся в последнем листинге?
PM MAIL   Вверх
skyboy
Дата 30.3.2012, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



верно ли я понима, что 
Цитата(Gumi @  30.3.2012,  08:07 Найти цитируемый пост)
while ($row1 = mssql_fetch_row($rs1) && $row2 = mssql_fetch_row($rs2))

выполняется уже после
Цитата(Gumi @  30.3.2012,  08:07 Найти цитируемый пост)
mssql_free_result($rs2);   

?
Цитата(ashain @  30.3.2012,  09:51 Найти цитируемый пост)
Судя по всему что то с rs1 и rs2

ну, это мягко сказанно. "5" вместо идентификатора ресурса — это однозначно проблема smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.