Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет.
Итак.. у меня проблемка. Надо чтобы скрипт плюсовал все параметры в базе mysql и выдавал только одну сумму.
Вот сам запрос:
$ede = mysql_query("SELECT d FROM objects WHERE user='".addslashes($user)."'");
Я пробывал писать еще ниже что-то на подобии этого: $line = mysql_fetch_row($ede); или $line = mysql_num_rows($ede); ничего не показывает... (ответ писал таким $line['порядковый_номер'])
Если сделать SELECT Count(*) from objects... или SELECT Count(d) from objects... то он выделяет все строки... и показывает тока $line['0'] - 21 (кол-во строк (21))...
как мне правельно написать код?
Я нарисовал рисунок, чтобы было еще более понятнее.
заранее спасибо за ваши ответы
Неактивен
select sum(d) from objects ... ;
Неактивен
Спасибо за ответ! но с этой проблемой я уже разобрался...
SELECT sum(d) as summary from objects...
Только вот у меня еще 1 проблема появилась:
// берет все слоты в которых есть значение больше 0
$ede1 = mysql_query("SELECT slots.* FROM slots, objects WHERE slots.id='".$stat['id']."' AND objects.id NOT IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slots.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slots.19,slots.20,slots.21,slots.22,slots.23) LIMIT 1"); // берет все слоты в которых есть значение больше 0
// подсчет параметров из выбраных слотов из $ede1 запроса (пишет такую ошибку: Resource id #16/18/19 (в зависимости от заполнения слотов))
$ede2 = mysql_query("SELECT sum(d) as summary FROM objects WHERE user='".addslashes($user)."' AND id='".$ede1."'"); // подсчет параметров из выбраных слотов из $ede1 запроса (пишет такую ошибку: Resource id #16/18/19 (в зависимости от заполнения слотов))
1 код пашет, а второй нет (добавил только AND id='".$ede1."' (без AND id='".$ede1."' работает (отдельно)))
как правельнее код написать? что вместо $ede1 вписать?
В таблице slots находится 23 collum fields (они могут быть все 23 заполнены). $ede1 запрос не будет же работать если там например будет несколько полей заполненых, а не один...
Надо чтобы скрипт считал все поля в таблице slots в которых больше 0 значение и из полученых полей ($ede1) он делал запрос в таблицу objects ($ede2) и считал параметры этих значений, после чего он выводил бы их. Можно сделать множесто запросов, главное чтобы работало.... У меня че-то уже ничего в голову не лезит... :wacko
Может кто помочь?
второй рисунок таблицы objects не могу выложить, форум запрещает
Отредактированно fleetboss (30.07.2009 12:33:51)
Неактивен
А что по вашему содержит переменная $ede1?
Для запросов SELECT mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен.
http://www.php.ru/manual/function.mysql-query.html
Неактивен
Проблема решена, но есть еще вопросик. Может кто знает как можно упростить этот код:
$edesign_res_1 = mysql_query("SELECT sum(1) as summary from objects WHERE ID IN ( SELECT slots.1 FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0 UNION SELECT slots.2 FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0 UNION SELECT slots.3 FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0 UNION SELECT slots.4 FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0 UNION SELECT slots.5 FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0 UNION SELECT slots.6 FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0 UNION SELECT slots.7 FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0 UNION SELECT slots.8 FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0 UNION SELECT slots.9 FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0 UNION SELECT slots.10 FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0 UNION SELECT slots.11 FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0 UNION SELECT slots.12 FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0 UNION SELECT slots.13 FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0 UNION SELECT slots.14 FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0 UNION SELECT slots.15 FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0 UNION SELECT slots.16 FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0 UNION SELECT slots.17 FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0 UNION SELECT slots.18 FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0 UNION SELECT slots.19 FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0 UNION SELECT slots.20 FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0 UNION SELECT slots.21 FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0 UNION SELECT slots.22 FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0 UNION SELECT slots.23 FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0 )"); $edesign_1 = mysql_fetch_row($edesign_res_1); // 2 $edesign_res_2 = mysql_query("SELECT sum(2) as summary from objects WHERE ID IN ( SELECT slots.1 FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0 UNION SELECT slots.2 FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0 UNION SELECT slots.3 FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0 UNION SELECT slots.4 FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0 UNION SELECT slots.5 FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0 UNION SELECT slots.6 FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0 UNION SELECT slots.7 FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0 UNION SELECT slots.8 FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0 UNION SELECT slots.9 FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0 UNION SELECT slots.10 FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0 UNION SELECT slots.11 FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0 UNION SELECT slots.12 FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0 UNION SELECT slots.13 FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0 UNION SELECT slots.14 FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0 UNION SELECT slots.15 FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0 UNION SELECT slots.16 FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0 UNION SELECT slots.17 FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0 UNION SELECT slots.18 FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0 UNION SELECT slots.19 FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0 UNION SELECT slots.20 FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0 UNION SELECT slots.21 FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0 UNION SELECT slots.22 FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0 UNION SELECT slots.23 FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0 )"); $edesign_2 = mysql_fetch_row($edesign_res_2); // 3 $edesign_res_3 = mysql_query("SELECT sum(3) as summary from objects WHERE ID IN ( SELECT slots.1 FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0 UNION SELECT slots.2 FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0 UNION SELECT slots.3 FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0 UNION SELECT slots.4 FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0 UNION SELECT slots.5 FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0 UNION SELECT slots.6 FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0 UNION SELECT slots.7 FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0 UNION SELECT slots.8 FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0 UNION SELECT slots.9 FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0 UNION SELECT slots.10 FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0 UNION SELECT slots.11 FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0 UNION SELECT slots.12 FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0 UNION SELECT slots.13 FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0 UNION SELECT slots.14 FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0 UNION SELECT slots.15 FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0 UNION SELECT slots.16 FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0 UNION SELECT slots.17 FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0 UNION SELECT slots.18 FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0 UNION SELECT slots.19 FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0 UNION SELECT slots.20 FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0 UNION SELECT slots.21 FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0 UNION SELECT slots.22 FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0 UNION SELECT slots.23 FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0 )"); $edesign_3 = mysql_fetch_row($edesign_res_3); // 4 $edesign_res_4 = mysql_query("SELECT sum(4) as summary from objects WHERE ID IN ( SELECT slots.1 FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0 UNION SELECT slots.2 FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0 UNION SELECT slots.3 FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0 UNION SELECT slots.4 FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0 UNION SELECT slots.5 FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0 UNION SELECT slots.6 FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0 UNION SELECT slots.7 FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0 UNION SELECT slots.8 FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0 UNION SELECT slots.9 FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0 UNION SELECT slots.10 FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0 UNION SELECT slots.11 FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0 UNION SELECT slots.12 FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0 UNION SELECT slots.13 FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0 UNION SELECT slots.14 FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0 UNION SELECT slots.15 FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0 UNION SELECT slots.16 FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0 UNION SELECT slots.17 FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0 UNION SELECT slots.18 FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0 UNION SELECT slots.19 FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0 UNION SELECT slots.20 FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0 UNION SELECT slots.21 FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0 UNION SELECT slots.22 FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0 UNION SELECT slots.23 FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0 )"); $edesign_4 = mysql_fetch_row($edesign_res_4); // 5 $edesign_res_5 = mysql_query("SELECT sum(5) as summary from objects WHERE ID IN ( SELECT slots.1 FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0 UNION SELECT slots.2 FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0 UNION SELECT slots.3 FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0 UNION SELECT slots.4 FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0 UNION SELECT slots.5 FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0 UNION SELECT slots.6 FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0 UNION SELECT slots.7 FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0 UNION SELECT slots.8 FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0 UNION SELECT slots.9 FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0 UNION SELECT slots.10 FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0 UNION SELECT slots.11 FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0 UNION SELECT slots.12 FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0 UNION SELECT slots.13 FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0 UNION SELECT slots.14 FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0 UNION SELECT slots.15 FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0 UNION SELECT slots.16 FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0 UNION SELECT slots.17 FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0 UNION SELECT slots.18 FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0 UNION SELECT slots.19 FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0 UNION SELECT slots.20 FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0 UNION SELECT slots.21 FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0 UNION SELECT slots.22 FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0 UNION SELECT slots.23 FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0 )"); $edesign_5 = mysql_fetch_row($edesign_res_5); // 6 $edesign_res_6 = mysql_query("SELECT sum(6) as summary from objects WHERE ID IN ( SELECT slots.1 FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0 UNION SELECT slots.2 FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0 UNION SELECT slots.3 FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0 UNION SELECT slots.4 FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0 UNION SELECT slots.5 FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0 UNION SELECT slots.6 FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0 UNION SELECT slots.7 FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0 UNION SELECT slots.8 FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0 UNION SELECT slots.9 FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0 UNION SELECT slots.10 FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0 UNION SELECT slots.11 FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0 UNION SELECT slots.12 FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0 UNION SELECT slots.13 FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0 UNION SELECT slots.14 FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0 UNION SELECT slots.15 FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0 UNION SELECT slots.16 FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0 UNION SELECT slots.17 FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0 UNION SELECT slots.18 FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0 UNION SELECT slots.19 FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0 UNION SELECT slots.20 FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0 UNION SELECT slots.21 FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0 UNION SELECT slots.22 FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0 UNION SELECT slots.23 FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0 )"); $edesign_6 = mysql_fetch_row($edesign_res_6);
Неактивен
Попробуйте нормализовать таблички
Неактивен