узнать кол-во полей в разных таблицах, составив запрос методом обьеденения

  • Автор темы Автор темы BeatBox
  • Дата начала Дата начала
никаких ошибок, просто в месте, где дложно показать результат - нет ничего.
тоесть написано:
Всего пользователей:
и все.
ФАК непомог, никаких ошибок нет вообще :(
 
фак не может не помочь.
если ты его внимательно читал, то там написано, что описанный там метод - ЕДИНСТВЕННЫЙ найти ошибку.
так что - давай, шуруй.
 
Вот смотрите.я сделал так:
PHP:
$numrowsusers = $db->sql_numrows($db->sql_query("SELECT user_id FROM ".$prefix."_users"));
$numrowsgames = $db->sql_numrows($db->sql_query("SELECT pid FROM ".$prefix."_games"));
$numrowsfiles1 = $db->sql_numrows($db->sql_query("SELECT lid FROM ".$prefix."_files"));
$numrowsfiles2 = $db->sql_numrows($db->sql_query("SELECT lid FROM ".$prefix."_demos"));
$numrowsfiles3 = $db->sql_numrows($db->sql_query("SELECT lid FROM ".$prefix."_fullversions"));
$numrowsfiles4 = $db->sql_numrows($db->sql_query("SELECT lid FROM ".$prefix."_patches"));
$totalfiles = $numrowsfiles1 + $numrowsfiles2 + $numrowsfiles3 + $numrowsfiles4;
сначала узнаем сколько всего пользователей.
потом сколько игр в базе
и потом сколько ВСЕГО файлов в базе.
Скажите, совсем ТУПО? Очень напрягут эти запросы БД? Они показываюься на всех страницах сайта.
 
да, тупо.
да, напрягут.

хотя если тебе только сделать, чтобы от тебя отбались, а от тебя усилий не требовалось, и тебя совершенно не волнует, как это работает - абы как, лишь бы показывало, то прокатит.
если же ты хочешь хоть каплю волочить в пхп, то тебе придется научиться искать ошибки в своем коде.
 
да даже незнаю, ошибки то никакие не показывает.
пс
сайт делать нужно качественно, делаю для себя.
 
BeatBox
ЧИТАЙ ВНИМАТЕЛЬНО!
ТРИ РАЗА ПРОЧТИ
ПЯТЬ
если с одного не доходить.
кроме варианта сидеть и сложив ручки ждать, пока тебе пхп покажет какую-то ошибку, там еще есть.
ПРОВЕРЯТЬ
ПОСТРОЧНО
что делает твоя программа.

и за тебя это не может сделать никто на свете.
 
Наконец-то! вот код рабочий
PHP:
$resultx1 = $db->sql_query("SELECT COUNT(*) as users FROM nuke_users");
$rowfx2 = $db->sql_fetchrow($resultx1);
$numrowsusers = $rowfx2['users'];
заменил в первой строке sql_fetchrow на sql_query.
теперь вопросик - ТАКИЕ 6 запросв меньше нагрузят БД, чем предыдущий вариант?
 
там, по ссылке, написано делать E_ALL
при E_ALL у тебя будет ошибка на ошибке.
а ты тут врешь в глаза, что никаких ошибок.
 
:eek: какой мне смысл врать? я написал как сказано в факе - невывело вообще никаких ошибок, ни единой строчки.

-~{}~ 09.03.05 23:05:

Обьясните, пожалуйста - 6 запросов в новом виде меньше нагрузят БД, чем предыдущий вариант?
 
Фанат
Простите. но я непонял о каком ответе идет речь. Немогли бы вы сказать?
 
Ну это несерьёзно! Ответьте пожалуйста. я топик могу сто раз перечитать но НОВОГО ничего неывижу.
 
BeatBox
почувствуй разницу между следующими ситуациями:
1) вытащить из таблицы ВСЕ, что в ней есть, заставить MySQL-сервер переслать это все MySQL-клиенту и только потом посчитать строки, которые клиент получил от сервера - при этом сами эти строки больше ни для чего не нужны;
2) дать команду MySQL-серверу посчитать строки прямо в базе (для таблиц самого распространенного типа MyISAM при этом вообще не придется ворошить таблицу - общее число записей берется из служебной информации о ней) и передать клиенту только это число.

В каком случае нагрузка больше?
 
во втором :) Тоесть тут:

PHP:
$resultx1 = $db->sql_query("SELECT COUNT(*) as users FROM nuke_users"); 
$rowfx2 = $db->sql_fetchrow($resultx1); 
$numrowsusers = $rowfx2['users'];
Спасибо!
 
Надеюсь, ты имел в виду, что тут нагрузка меньше, а скорость, соответственно, быстрее :)
 
Сверху