заголовок темы изменён на соответствующий содержанию — модераторъ Добрый день! Проблема в общем-то такая: есть таблица с данными о пользователях и ресурсах, которые они кушают за определённое время. Выглядит в базе так: |name | cput | mem | vmem | ...... Запрос такой: Код (Text): $query="select name,sec_to_time(max(time_to_sec(cput))),max(mem),max(vmem),round(sum(time_to_sec(walltime)) /3600) from table where date_end>='{$_SESSION['date']}' and date_end<='{$_SESSION['date_end']}' group by account_ihep order by {$_SESSION['key']}"; Результат: |name | cput | mem | vmem | walltime | Vaska|03:21:38| 232.5 | 596 | 46 ..................................... и т.д. Мне нужно: |name | cput | mem | vmem | walltime| sum | Vaska|03:21:38| 232.5 | 596 | 46 | ? ..................................... и т.д. Страничка полностью огромна, постить не буду целиком, но мне нужно добавить кусок - ещё один запрос, который рассчитает сумму этих полей, перемноженных на коэффициенты, для каждого пользователя. Не от большого ума у меня получилось: Код (Text): $query_2="select name, ((max(vmem))*0.009)+((max(mem))*0.58)+(((cput)/3600)*0.9)) as 'summa' from table where date_end>='{$_SESSION['date']}' and date_end<='{$_SESSION['date_end']}' group by name"; $result_2=mysql_query($query_2); $num_result_2=mysql_num_rows($result_2); $j=0; for ($i=0; $i <$num_result_2; $i++) { $row_2=mysql_fetch_array($result_2); $array_sum[$i]=$row_2['summa']; $sum_sum=$array_sum[$i]+$sum_sum; $name[$i]=$row_2['name']; $_SESSION['array_sum'][$j]=$array_sum[$i]; $_SESSION['array_name'] [$i]=$array_name[$i]; $j=$j+1; } $_SESSION['num_result_2']=$num_result_2; где вверху страницы указаны все Код (Text): unset($_SESSION['array_cput']); unset($_SESSION['array_mem']); unset($_SESSION['array_acct']); unset($_SESSION['array_vmem']); unset($_SESSION['array_name']); unset($_SESSION['array_sum']); В итоге ошибка: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given table.php on line 301 Знаю, что запрос корявый, а вот, как надо, не монимаю
Булеан гивн говорит о том, что предыдущий квери вернул фолс - т.к запрос был с ошибкой. --- Добавлено --- Почитай официальную справку по функции майсиквел_квери. Там есть разъяснение какие значения она может возвращать. А в примерах найдешь как вывести конкретное сообщение в чём проблема.
Переформулирую: "как рассчитать сумму полей, перемноженных на числа, для каждого пользователя и вывести в php?"
Сделать всё без ошибок, вот как. Ошибки — твои друзья. Они подсказывают что и где ты сделал не так. Вникай. Руководство по нахождению ошибок: phpfaq.ru/debug Сайт, где лентяям курсовые делают за деньги: besmarter.ru --- Добавлено --- (игордата, сделай партнёрскую программу, в профите будут все) --- Добавлено --- Ты щаз обидешся, как все нубы делают, поэтому поясняю: я не в курсе что именно не так. Я объяснил тебе симптомы. А ты можешь почитать иснтрукцию и выяснить в точности где ошибка в запросе. Запрос, блин, это вот этот текст: "select name, ((max(vmem))*0.009)+((max(mem))*0.58)+(((cput)/3600)*0.9)) as 'summa' from table where date_end>='{$_SESSION['date']}' and date_end<='{$_SESSION['date_end']}' group by name"; Плохие парни на другом форуме подсунули тебе какую-то ошибку. Сволочи!
ну вот — обиделся, как я и говорил. новички как под копирку… может я ошибаюсь насчет тебя, извини, сути не меняет. ты должен отладить это место. посмотреть что за текст получается после подстановки переменных из сессии. есть ли вообще там эти переменные? попробуй вывести готовый текст запроса, скопировать и выполнить в phpmyadmin и т.д. программирование оно такое — на 99% это нудная тупая однообразная работа, а нифига не изящное искусство. по моей ссылке сходи, там всё чётко расписано. проверено сотнями людей.