PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (24): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец

> Найдено сообщений: 352
broshurkaplus Отправлено: 20 Июля, 2014 - 13:22:40 • Тема: скорость и структура запросов к бд • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 41
здравствуйте, есть несколько вопросов:
в проекте основная рабочая таблица - порядка 40 столбцов, при работе с проектом выборка обновление добавление происходит в основном в ней. смысл такой: табл. юзер, регион, город и основная - товар. ожидается большое количество записей в т.товар
юзер добавляет товар с описаниями в таблицу, обновляем-добавляем сумму товаров у юзера , в городе и регионе. при удалении - уменьшаем.


сейчас настроено так:
добавляем товар - в таблице висит триггер который апдейтит нужные таблицы (увеличивает счетчик товаров на 1)
считаю что это уменьшает колво запросов к бд, увеличивает скорость + имею сразу готовое количество товаров по городам и регионам при серфинге гостей по сайту те не придется каждый раз подсчитывать записи для формирования меню страниц
1 ВОПРОС: правильно ли я мыслю, те имеет ли место быть этот вариант? КАК сделать правильно/лучше и быстрее?


при перемещению по сайту дергаем т. товары, при выборке она джойнится с некоторыми другими в зависимости от посещаемых страниц. из т. товары выбирается каждый раз 15-35 столбцов, те не все.
2 ВОПРОС: для повышения быстродействия, скорости имеет ли смысл выбирать только те столбцы, прописывать их в запросе которые нужны (увеличивает код, слоужно ориентироваться) ? или при более полной выборке стоит использовать (*) ? как правильнее поступить?


пользователи рекламируют свои товары внутри сайта - в таблице для таких товаров поле- счетчик количества просмотров. таким образом каждый раз при просмотре страницы с товарами показывается несколько (4-12шт) рекламных (отбираем по критериям основной страницы), соответственно после выборки основных + выборки рекламных - опять дергаем-апдейтим таблицу, чтобы обновить количество просмотров (использую апдейт IN (тут ид тех которым изменить просмотры)).
3 ВОПРОС: как тут организовать правильно? какие можете дать рекомендации по по оптимизации и повышению быстродействия?


у юзеров есть тип аккаунта, для разных типов ак-в установливается разное количество показов их рекламы и самих объявлений (напр.: простому - 5объявок по 1000показов для вип -20об/10 000показов). реклама отображается по принципу - сначала тех у кого осталось показов больше. тут на лицо неравномерность показа, те простые ак-ты устанут стоять в очереди пока их реклама начнет отображаться.
заказчику предлагаю решение - уравнять количество показов для всех, скорректировав кол-во объявок.
4 ВОПРОС: может предложите какое то альтернативное решение?

код в проекте - SQL. читал разные форумы и тд, что SQL и SQLli смысл, скорость и суть - та же, те нет принципиальной разницы
5 ВОПРОС: стоит ли переходить на li ? чем чревато оставить простой SQL ? какую выгоду получу перейдя на li ?

с нетерпением жду ваших ответов и комментариев по каждому вопросу.
спасибо
broshurkaplus Отправлено: 20 Июля, 2014 - 12:21:41 • Тема: Помогите составить запрос, или вообще возможноли это сделать • Форум: SQL и Архитектура БД

Ответов: 8
Просмотров: 71
попробуйте так как вариант:
добавляйте сразу, не надо 2 запроса. в таблице повесьте уникальный индекс на поле, при его повторении вставки не произойдет и выводите ответ пользователю
для добавления непонятно:
- если вывести данные пользователю - выж их добавляете, можете и в ответе вывести
- если с ними манипуляции какие то, например в другую таблицу - так сделайте триггер в таблице с нужным действием, тем самым перенесете(доверите) всю работу непосредственно самой базе.
broshurkaplus Отправлено: 03 Мая, 2014 - 11:24:26 • Тема: работа сессии • Форум: HTTP и PHP

Ответов: 1
Просмотров: 894
вопрос решен:
сохранил файлы без bom
тему можно закрыть
broshurkaplus Отправлено: 27 Апреля, 2014 - 12:56:11 • Тема: работа сессии • Форум: HTTP и PHP

Ответов: 1
Просмотров: 894
здравствуйте
появилась следующая проблема, 2й день бьюсь:

на локальной машине стоит openserver.

1
есть простая авторизация.
форма отправляется постом через квери на обработчик, если все верно результат сохраняется в сессию и вписывается в поле на страницу вместо формы, эти данные беру из созданной сессии.
в обработчике и на странице - session_start();
так вот: он переменную в сессии видит, но все равно выдает классическуб ошибку
CODE (html):
скопировать код в буфер обмена
  1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent...

обновляю страницу и вижу значение переменной на станице вместе с ошибкой, взятое из сессии, следовательно сесия работает.
если в настройках прописать автоматический старт сессии, то ошибка пропадает,

вот настройки
CODE (htmlphp):
скопировать код в буфер обмена
  1. [Session]
  2. session.save_handler = files
  3. session.save_path = "%sprogdir%/userdata/temp/"
  4. session.use_cookies = 1
  5. ;session.cookie_secure =
  6. session.use_only_cookies = 1
  7. session.name = PHPSESSID
  8. session.auto_start = 0
  9. session.cookie_lifetime = 0
  10. session.cookie_path = /
  11. session.cookie_domain =
  12. session.cookie_httponly =
  13. session.serialize_handler = php
  14. session.gc_probability = 1
  15. session.gc_divisor     = 1000
  16. session.gc_maxlifetime = 3600
  17. session.bug_compat_42 = 0
  18. session.bug_compat_warn = 0
  19. session.referer_check =
  20. session.entropy_length = 0
  21. session.entropy_file =
  22. ;session.entropy_length = 16
  23. ;session.entropy_file = /dev/urandom
  24. session.cache_limiter = nocache
  25. session.cache_expire = 180
  26. session.use_trans_sid = 0
  27. session.hash_function = 0
  28. session.hash_bits_per_character = 5
  29. url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

подскажите в чем может быть дело, может в настройках чего прописать?

2
при ошибке возвращаю ее номер, например er
в data функции проверяю:
CODE (javascript):
скопировать код в буфер обмена
  1.         ...function(data) {
  2.             if(data=='er'){$('#e-err').html('Введите название фирмы, email и пароль');$('#eform input.zn').addClass('err');$('#eloading').empty();}
  3.             else if(data=='er1'){$('#e-err').html('Неверный логин или пароль, возможно такой фирмы не существует.');$('#eloading').empty();}
  4.             else{$('#eloading').empty();$('#eform').addClass('dnone');$('#firmauser').html(data);}
  5.         });


а оно считает этот ответ положительным и выполняет последнюю строку вместо того чтобы вывести ошибку, хотя на другом работающем сайте на хостинге такой обработчик срабатывает...
в чем ошибка может быть?
broshurkaplus Отправлено: 24 Сентября, 2013 - 16:26:16 • Тема: выборка следующих 5 записей из таблицы • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 22
оу, тут и сам увидел очевидное... наверно могз закипел...
СПАСИБО
broshurkaplus Отправлено: 24 Сентября, 2013 - 16:04:31 • Тема: выборка следующих 5 записей из таблицы • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 22
здравствуйте

есть таблица (50к записей):
ид(автоинкремент), автор(интегер)
в таблице есть удаленные записи, те ид не по порядку

на странице передан ид записи

подскажите: нужно выбрать следующие 5 записей после текущего ид у определенного автора
(напр. передан ид=40 - нужно выбрать следующие 5 записей у автора 40й записи)
как это реализовать покороче

спасибо
broshurkaplus Отправлено: 14 Апреля, 2013 - 19:53:21 • Тема: передача и использование аргумента в класс • Форум: JavaScript & VBScript

Ответов: 13
Просмотров: 2209
да уж, развился топик.
почитал интересно.

просто проект делаю один, немного "сдираю" как обычно и там везде и повсеместно это есть, дык и не пойму что они там отлавливают...
как бы внешняя интерактивность: все изначально грузят в страницу, а для выбора отлавливают клик и отображаю блоки. как по мне так я бы не загружал сразу, а через квери подгружал в дом.

вобщем буду пробывать пользовать data-

напр data-id="header_region", отлавливаем клик и передаем в функцию значение, а на сервере проверяем что пришло и выдаем нужный результат. Если передали header_region, то выдаем список возможных вариантов регионов...

так понял, что это более лучше чем id юзать - можно меньше яваскрипта писать, не к каждому id, а одна функция передает, а все на сервере обрабатывается, в этом вся прелесть?

напр. куча кнопок для фильтра параметров, при клике один и тот же код(одна функция) передаст параметры взятые из data-id на сервер, а там вернется список возможных вариантов в зависимости по чем кликнули.

и последнее
не очень понял: юзать лучше именно "data-id" или возможно "data-любоеназвание"
и если много разных условий отбора то лучше ли подгружать условия или сразу загружать в страницу, а по клику только отображать?
обязательно к ссылке привязывать или можно к любому элементу?

правильно ли будет пользование так:

CODE (html):
скопировать код в буфер обмена
  1. <a href="" data-id="header_region">a</a> или <div  data-id="header_region">выбрать регион</div>


CODE (javascript):
скопировать код в буфер обмена
  1. $('ссылка/элемент/абзац/див').click(function(event){
  2.   // hash
  3.   $(event.hash).hide();
  4.    // data-attribute
  5.   var id = $(this).data('id');
  6.    //передаем например посстом скрипту и записываем ответ сервера в нужное место страницы
  7.    $('#нужныйдив').html(data)
  8. });
broshurkaplus Отправлено: 10 Апреля, 2013 - 17:49:01 • Тема: передача и использование аргумента в класс • Форум: JavaScript & VBScript

Ответов: 13
Просмотров: 2209
не понял этого: "Ну HTML5 позволяет почти все символы"
что вы имели ввиду?

есть ли описание такого класса: весь код цсс в одну строку = 50 вордовских страниц, но я поиском не нашел в нем класса "clicker"
к документу подключена только одна эта таблица

что можете подсказать, а тоя не знаю...

вы написали:
== - это вместо {} в HTML5

пожалуйста объясните что может означать и для чего пользоваться
clickerID:'header_region'

в

<a href="#" class=" clicker {clickerID:'header_region'}" id="chooselocList">
broshurkaplus Отправлено: 10 Апреля, 2013 - 17:35:04 • Тема: передача и использование аргумента в класс • Форум: JavaScript & VBScript

Ответов: 13
Просмотров: 2209
здравствуйте
разбираю код, все очень путано пробелы удалены и все в одну строку, трудно чтото найти, вот задался вопросом:

есть елемент
CODE (html):
скопировать код в буфер обмена
  1. <a href="#" class="block select c000 fbold rel br3 showbox nowrap tdnone clicker {clickerID:'header_region'}" id="chooselocList">
  2. <span class="icon mini down2 abs">&nbsp;</span>
  3. <span class="">Выбрать регион</span>
  4. </a>

интересует вот этот кусок
CODE (html):
скопировать код в буфер обмена
  1. clicker {clickerID:'header_region'}


я полагаю, что это передается в класс и при нажатии поссылке выполняется скрипт, привязанный на ид эл-та, который по clickerID в зависимости от переменной(тут header_region) передает параметры в него...

ИЛИ КАК?

пожалуйста объясните мне, а то не нагуглил

спасибо
broshurkaplus Отправлено: 10 Января, 2013 - 18:02:51 • Тема: align="center" как будит в css+ по вертикали. • Форум: HTML, Дизайн & CSS

Ответов: 16
Просмотров: 3660
если вы используете это как превью картинок с float:left расположенных в диве, то возможно, чтоб не применять n-е количество блоков с css вам подойдет такой принцип реализации:

если шаблон у вас готов и картинки вы генерите при загрузке, то задайте размер картинки напр. 150*150 с требуемым фоном, а само превью скриптом рисуйте с нужной позицией, тогда вы получите: 1 видимость картинки по центру(фон сольется с шаблоном), 2 уменьшение/экономию кода, 3 возможность располагать как угодно, с минимальными затратами кода. и уровнем вложенности div-ов

п.с. конечно, если общая идея такова, а не ,буквально требуется vertical-align: middle;
broshurkaplus Отправлено: 09 Января, 2013 - 17:36:24 • Тема: яваскрипт и select • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 1163
насколько я понимаю - общий смысл тот же, только не через класс, а style меняет. попробовал, применил.
=результат тот же...блин.

смотрю код - и хром и опера меняет свойства, но в экране
хром корректно показывает только при выборе 1го пункта в списке категорий, для остальных - так же -высота во 2раск.списке в 1оптион.
опера ж в экране ничего не меняет, только в коде.

по идее браузер чтоли рассчитать новые свойства не может.
работалож..подправил чтото на ночь вчера(и забыл как было)

вопрос актуален
чего хром схлопывает элементы, а опера не отображает сменившиеся свойства элементов?

еще какие идеи есть?
спасибо

пока сделал доп аякс запрос и вывод после обновления.
broshurkaplus Отправлено: 09 Января, 2013 - 16:17:22 • Тема: яваскрипт и select • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 1163
здравствуйте


подгружаем в страницу форму с 2мя селектами категории и подкатегории
изначально задаем класс dispno для элементов селекта подкатегорий
в котором display: none;

при выборе в первом селекте присваиваем клас dispno для всех эл-в с .scat (чтоб убрать если уже чтото было выбрано) и удаляем его у элементов с нужным классом cat+значение-из-первого

вот то чем меняем

CODE (javascript):
скопировать код в буфер обмена
  1. function vscat(num){
  2.    $('#isc').val(0);//присваиваем 0 селекту подкатегории
  3. var num=$("#ic").val();//получаем зн-е из первого селекта
  4.     $('.scat').addClass('dispno');
  5.     $('.scat'+num).removeClass('dispno');
  6. }


и часть 2го селекта

CODE (html):
скопировать код в буфер обмена
  1. <select name="isc" id="isc">
  2. <option value="0">выберите подкатегорию</option>
  3. <option class="scat cat1 dispno" value="15">qqq</option>
  4. <option class="scat cat1 dispno" value="16">www</option>
  5. <option class="scat cat2 dispno" value="25">eee</option>
  6. <option class="scat cat2 dispno" value="29">rrr</option>
  7. ...


короче в хроме после обновления оно скрывает и отображает то что нужно, но:

отображает в раскрыв. списке только 1строку при нажатии, но внутри элементы все нужные
в опере вообще не работает, сразу все подкатегории отображаются, и при смене категории в селекте подкат. ничего не происходит

подскажите в чем может быть?
или какие другие решения для данной задачи
спасибо
broshurkaplus Отправлено: 08 Января, 2013 - 19:28:39 • Тема: Выпадающий список на ajax • Форум: Вопросы новичков

Ответов: 4
Просмотров: 244
JS+ квери
только зачем имя, реально практически нигде уже не используется быть может ид получить того элемента на котором был клик, перед тем как у вас ф поле формы добавляется

CODE (htmlphp):
скопировать код в буфер обмена
  1. $(document).ready(function() {
  2.     $(".button").click(function() {
  3.         //получаем id того элемента по которому был сделан клик
  4.         alert($(this).attr("id"));
  5.     });
  6. });
  7.  
broshurkaplus Отправлено: 08 Января, 2013 - 10:21:58 • Тема: Запрос к MySQL • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 55
из того что заметил у вас $page не объявлена, а в расчете используется...
может:
1000картинок надо по 20 на страницу

CODE (htmlphp):
скопировать код в буфер обмена
  1. $r_sum_oboi=mysql_num_rows(mysql_query("SELECT `id` FROM `oboi`"));//(илиSELECT COUNT(*))
  2. //-----тут по 20 картинок на страницу
  3. $item_per_page=20;
  4. $vsego_page=$r_sum_oboi/$item_per_page;
  5. if($vsego_page-intval($vsego_page)>0){$vsego_page=intval($vsego_page)+1;}// (или ceil)
  6. //-----ищем начальный номер для выборки
  7. $start_otbor=$_GET["page"];
  8. $start_number=$start_otbor*$item_per_page-$item_per_page;
  9. //пусть входим на стр 5, тогда 5*20-20=начинаем с 80записи, тк считаем с0
  10. далее запрос с
  11.  
  12. LIMIT $start_number, $item_per_page


у вас надо 3записи на страницу
считаете число страниц
и если $page ??? больше чем число страниц -походу и скобки надо{$page = $q_pages; }

$page не принимает никакого значения.
broshurkaplus Отправлено: 07 Января, 2013 - 21:20:26 • Тема: Подскажите, как убрать </b><b> и <h1></h1> ? • Форум: Регулярные выражения

Ответов: 18
Просмотров: 1021
дерзаешь?
дерзай

Страниц (24): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB