[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: массив1 - массив2 = массив3
mouserok
Добрый !!!
есть 2 запроса данные которых попали в массив
q1 и q2

Вопрос: как отнять один массив от другого чтоб в дальнейшем вывести данные в табл. HTML с помощью while
while ($row = sybase_fetch_assoc($q3))

PS: возможно решение я выбрал не правильное буду рад услышать от вас
вариант с инсертом в SQL тоже не подходит



Спустя 9 минут, 17 секунд (29.09.2011 - 09:41) nugle написал(а):
приведи примеры массивов

Спустя 10 минут, 9 секунд (29.09.2011 - 09:51) mouserok написал(а):
print_r ($q1);
вывел
Resource id #5

но вообще там должно быть два столбца и 14 строк
1. значение которое нужно вычитать
2. дата к которой подвызано первое занчение

нужно вычесть 1 столбик массива1 из 1 стлоба массива2

Спустя 6 минут, 2 секунды (29.09.2011 - 09:57) kovalevsky написал(а):
Цитата
Вопрос: как отнять один массив от другого чтоб в дальнейшем вывести данные в табл. HTML


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

upd.
Цитата
нужно вычесть 1 столбик массива1 из 1 стлоба массива2

$result = $q2[1] - $q1[1];

Спустя 3 минуты, 37 секунд (29.09.2011 - 10:01) kovalevsky написал(а):
mouserok

в том же посте дописал как отнять то, что ты хотел.

Спустя 45 минут, 10 секунд (29.09.2011 - 10:46) mouserok написал(а):
что-то не получается
print_r($q2);
echo "<br>";
$q2 = $q2[2] - $q[2];
print_r($q2);

получаю
Resource id #7
0

Спустя 4 минуты, 50 секунд (29.09.2011 - 10:51) nugle написал(а):
замени mysql_fetch_assoc(mysql_fetch_array) на mysql_fetch_row

Спустя 6 минут, 25 секунд (29.09.2011 - 10:57) rooor написал(а):
что-то мне подсказывает, что это можно сделать одним правильным sql запросом, а не париться с массивами

Спустя 4 минуты, 47 секунд (29.09.2011 - 11:02) mouserok написал(а):
не работает ((
#print_r($q2);
#echo "<br>";
$q2 = $q2[2] - $q[2];
#print_r($q2);

$table2 = "";
while ($row11 = sybase_fetch_row($q22))
{
$DBS_used_max = $row11['DBS_used_max'];
}
$maxHeight=220;
$totalCount=0;
$hCountOper=0;
$table = "<TABLE border=0 cellspacing=1 cellpadding=1 align=center><tr><td height=0 valign=bottom align=center>\n";
$table .= "<tr><th align=center colspan=\"14\" valign=\"top\"> <div class=\"title\">месяц назад</div> </th></tr>\n";
$table .= "<tr>\n";
while ($row1 = sybase_fetch_row($q2))
{
$totalCount = $row1['DBS_used'];
$kfCent = $DBS_used_max/$maxHeight;
$hCountOper = $totalCount/$kfCent;
$DBSdate = SUBSTR($row1['DBS_date'], 0, 11);
$table .= "<td height=".$hCountOper." valign=bottom align=center><table border=1 height=".$hCountOper." ".($row1['DBS_used']<1000?'width=37':'')." cellspacing=1 cellpadding=1 bgcolor=#03C03C bordercolor=black><tr><td valign=top align=center class=smal2><strong>".$row1['DBS_used']."</strong></td></tr></table></td>\n";
$table2 .= "<td valign=bottom align=center class=\"smald2\"> <b>".$DBSdate."</b> </td>\n";
}
$table .= "<td valign=bottom align=center><table border=0 cellspacing=1 cellpadding=1><tr></tr></table></td></tr><tr><td colspan=30 height=3 bgcolor=black></td></tr>\n";
$table .= "</tr>\n";
$table .= "<tr>\n";
$table .= $table2;
$table .= "</tr>\n";
$table .= "</TABLE></TD></TR></TABLE>\n";
echo $table;


Цитата
что-то мне подсказывает, что это можно сделать одним правильным sql запросом, а не париться с массивами

не исключенно )))

Спустя 33 минуты, 4 секунды (29.09.2011 - 11:35) linker написал(а):
Resource id #5 означает, что ты не массивы дёргаешь, а ссылку на ресурс с результатом работы запроса.

Спустя 11 минут, 36 секунд (29.09.2011 - 11:47) mouserok написал(а):
Resource id #5 означает, что ты не массивы дёргаешь, а ссылку на ресурс с результатом работы запроса. 

так что мне нужно сделать ?

Спустя 15 минут, 54 секунды (29.09.2011 - 12:02) Renden написал(а):
mouserok
Наверно ты не правильно создаешь массивы q1 и q2.. покажи как ты их создаешь?

Спустя 14 минут, 43 секунды (29.09.2011 - 12:17) mouserok написал(а):
$q2 = sybase_query ($query_text, $conn);



$query_text = обычный select который вернет 15 строк с двомя столбцами (дата и цыфра)

Спустя 9 минут, 7 секунд (29.09.2011 - 12:26) linker написал(а):
sybase_query(), mysql_query(), mssql_query() и др. не возвращают никаких массивов. Они возвращают ссылку на ресурс с результатами запроса. Чтобы получить массив ты сам должен его построить
$q = ..._query("...");
$arr = array();
while($row = ..._fetch_..($q))
{
$arr[] = $row;
}
print_r($arr);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.