Дорогие форумчане! Добрый день.
В БД есть таблица с товаром и его продавцами.
Необходимо вывести всех пользователей и указать количество принадлежащих каждому единиц товара.
Делаю так:
SELECT COUNT(*)AScount FROM declarations WHERE prodavec=$prodavec
Получается куча запросов, выполняемых в цикле. А если таких продавцов несколько сотен и каждого несколько сотен единиц товара?
Является ли мое решение более или менее оптимальным?
Имеется ли более подходящее для этой задачи решение.
Добрый день, уважаемые Форумчане! Помогите пожалуйста....
Как то я уже обращался с подобной проблемой и мне помогли найти ее решение. Теперь немножко условия поменялись, а сам я с регулярными выражениями совсем не дружу.
Есть сайт Национального банка Республики Беларусь с ежедневно устанавливаемыми им курсами иностранных валют:http://www[dot]nbrb[dot]by/statistics/Ra[dot][dot][dot]s/RatesDaily[dot]asp
Как получить курсы доллара и евро с этой странице мне помогли. Вот код:
}else{echo'Получить курс EUR не удалось. Введите его вручную!';}
?>
Для внесения этих данных в БД необходимо еще получить и дату, на которую этот курс установлен.
На указанной странице есть строка:
"Официальный курс белорусского рубля по отношению к иностранным валютам, устанавливаемый Национальным банком Республики Беларусь ежедневно, на 22.05.2013"
Помогите получить указанную в ней дату-в данном случае это 22.05.2013.
Добрый день уважаемые форумчане!!! Есть одна проблема, которую, как я надеюсь, вы поможете мне решить.
Ситуация: В таблице хранятся сведения о товарах, в том числе и об их ценах. Цены хранятся в формате INT. В случае, если цена не введена, то в таблице по умолчанию она будет равна 0.
Далее, необходимо сделать выборку с сортировкой по цене, начиная от самых дешевых.
Вот здесь и проблема. Вначале выводятся товара с не введенной ценой( а она, как уже сказано, в базе равна 0). Как сделать так, чтобы сначала выводились и сортировались, соответственно, товры с ценой свыше 0, а затем выводились товары с ценой 0.
Извините, я не являюсь специалистом в PHP, поэтому может и не могу придумать оптимальное без двух последовательных выборок(сначала выбираем с ценой>0, а затем с равной 0) решение.
Подскажите возможна ли такая сортирвка в рамках одной выборки?
Спасибо, Илья! (Добавление)
а ЕСЛИ МНЕ НЕ НУЖНО ПОДСЧИТЫВАТЬ, КОЛИЧЕСТВО ЗАПИСЕЙ, А ПРОСТО НУЖНО УСТАНОВИТЬ ЕСТЬ ЛИ ОНИ ВООБЩЕ? КАК В ЭТОМ СЛУЧАЕ НУЖНО ПОСТУПАТЬ?
Правильным будет два запроса, т.к. если записей будет уже 20 тысяч, то все они приедут в скрипт и займут столько памяти, сколько уже не хватит по лимитам в php.ini.
То есть mysqli_num_rows и один запрос можно использовать, если достоверно известно, что записей не так много?
Мне кажется более приемлемым первый вариант из-за того, что обращение к БД однократное, но в тоже время я много раз видел использование и второго варианта, например при постраничной навигации.
Что же все таки будет правильным? Посоветуйте.... Спасиббо........
код я не писал. И тот, что выше я набрасывал прямо сейчас. Просто я читал про рекурсивные функции, которые вызывают сами себя в теле функции. В том направлении нужно копать? Может есть пример такой функции у Вас?
Логично.... то есть передать не только id, но и само название пункта меню, который должен выводиться первым, и для него не делать выборку, а просто первым пунктом прописать переданное название. А выборку сделать, исключая этот пункт. Я правильно понимаю.? Небольшое уточнение. У этих подпунктов меню будут еще подпункты более низкого уровня, включая и тот, который выводится первым без выборки. Соответственно, придется еще две выборки делать-для первого пункта меню, который сформировался на основании переданных данных, а также и остальных. Тут нужно делать выборку в выборке?