PHP.SU

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

Страниц (83): В начало « ... 59 60 61 62 [63] 64 65 66 67 ... » В конец

> Найдено сообщений: 1232
tuareg Отправлено: 04 Января, 2012 - 09:46:22 • Тема: 2 цикла одновременно • Форум: Вопросы новичков

Ответов: 2
Просмотров: 153
Сделайте так. Выберите все имена файлов в массив из директории и все файлы из БД тоже в массив. И потом используйте
tuareg Отправлено: 02 Января, 2012 - 06:23:19 • Тема: Подгружаемый контент • Форум: Программирование на PHP

Ответов: 5
Просмотров: 357
Так на вскидку.
таблица: id flag message.
Есть 3 пользователя Вася Петя Саша.
Вася читает посты Пети. Но не читает посты Саши.
Вася в сети.(flag в Бд что он тут).
Заходит Петя и пишет пост.
Пост сохранился, после сохранения
Проверяем всех активных пользователей, которые читают посты Пети(в данном случае Вася) и если Вася активен ставим ему в поле message 1. И через какое-то время посылается запрос, и проверяется поле message. Если там 1 то update message=0 и выдергиваем сообщение.
В худшем варианте будет 3 запроса(если есть новое сообщение) но это не страшно, там сами запросы легкие. все по индексам.
P.S Если в поле message писать id нового поста. то вообще все запросы будут простыми.(если интервал большой, то можно записывать в виде id1,id2)
UPDATE будет что-то типа message=CONCAT(message,id2)
P.S.S То что вы хотите сделать называется COMET вот почитайте http://javascript[dot]ru/ajax/comet
tuareg Отправлено: 30 Декабря, 2011 - 16:29:17 • Тема: Подгрузка контента • Форум: Программирование на PHP

Ответов: 6
Просмотров: 523
landsturm пишет:
antobra
Так постоянные запросы это же не есть хорошо. Это и ресурсы тратятся и много запросов к БД.

Другого варианта нет.
tuareg Отправлено: 28 Декабря, 2011 - 13:18:14 • Тема: Выборка из базы данных? • Форум: Вопросы новичков

Ответов: 6
Просмотров: 246
Так не получится. Не та библиотека для работы с mySQl(надо либо mysqli или PDO). Да и запрос по моему не верен. Надо тестить.
tuareg Отправлено: 27 Декабря, 2011 - 20:09:00 • Тема: нахождение суммы чисел в поле со строкой • Форум: Работа с СУБД

Ответов: 24
Просмотров: 6766
Panoptik пишет:
DELIMETR это обязательные вещи?

Да это разделители. Т.е они необходимы, для того чтобы можно было использовать ;
в функции или в процедуре.
Panoptik пишет:
и нужно ли каждый раз выполнять функцию, или один раз выполнить, а после она будет храниться?

Нет, ее достаточно создать один раз и все. Потом она уже будет выполняться сама.
хранятся они в таблице 'information_schema'.(по моему Улыбка ).
Плюсом использования в данном случае функции, является то, что она после первого запроса в соединении попадет в КЭШ mySQL.(план выполнения ф-и) И далее затраты на ее выполнение будут мизерны.
P.S Единственное, что я бы сделал, это не сортировал на стороне MySQl, а сортировку производил уже на PHP. Потому что в данном запросе, будет осуществляться полное сканирование таблицы, потом создание временной таблицы, ее сортировка и только потом вывод рез-та.
tuareg Отправлено: 27 Декабря, 2011 - 19:45:35 • Тема: нахождение суммы чисел в поле со строкой • Форум: Работа с СУБД

Ответов: 24
Просмотров: 6766
А если вам вообще в запросе, то нужна ф-я а не процедура.
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. DELIMITER //
  3. CREATE FUNCTION `explode`(`mylist` char(50)) RETURNS int(11)
  4. BEGIN
  5.  DECLARE returnCount int(3);
  6.  IF mylist = '' THEN LEAVE body; END IF;
  7.  SET @saTail = mylist;/*Добавляем еще одну переменную*/
  8.  WHILE @saTail != '' DO
  9.     SET @sHead = SUBSTRING_INDEX(@saTail, ',', 1);
  10.     SET @saTail = SUBSTRING( @saTail, LENGTH(@sHead) + 2 );
  11.     SET returnCount= returnCount+@sHead;/*Производим сложение*/
  12.   END WHILE;
  13.  RETURN returnCount;
  14. END//
  15. DELIMITER ;
  16. /*И тогда запрос*/
  17. SELECT *, `explode`(`row_count`) AS `total_count` FROM `my_table` ORDER BY `total_count`
  18.  

Вот как-то так. Писал прямо тут, так что не обессудьте.
tuareg Отправлено: 27 Декабря, 2011 - 19:36:13 • Тема: нахождение суммы чисел в поле со строкой • Форум: Работа с СУБД

Ответов: 24
Просмотров: 6766
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. DELIMITER //
  3. CREATE PROCEDURE `explode`(IN `mylist` VARCHAR(255))
  4. body:
  5. BEGIN
  6.   IF mylist = '' THEN LEAVE body; END IF;
  7.  
  8.   SET @saTail = mylist,@countNum = 0;/*Добавляем еще одну переменную*/
  9.  
  10.   WHILE @saTail != '' DO
  11.     SET @sHead = SUBSTRING_INDEX(@saTail, ',', 1);
  12.     SET @saTail = SUBSTRING( @saTail, LENGTH(@sHead) + 2 );
  13.     SET @countNum= @countNum+@sHead;/*Производим сложение*/
  14.   END WHILE;
  15.   SELECT @countNum; /*Выводим ее*/
  16. END//
  17. DELIMITER ;
  18.  
tuareg Отправлено: 27 Декабря, 2011 - 19:20:59 • Тема: нахождение суммы чисел в поле со строкой • Форум: Работа с СУБД

Ответов: 24
Просмотров: 6766
Вот аналог функции EXPLODE в MySQL через процедуру
http://vexell[dot]ru/2010/10/mysql-implode-explode/
tuareg Отправлено: 23 Декабря, 2011 - 16:25:16 • Тема: JavaScript выведенный через AJAX не работает. • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 9519
Viper пишет:
tuareg и толку? Это же проделайте для контента полученого ajax'ом или
созданого "на лету" забиндив обработку плагином.

C ajax все тоже самое.
Вот простой пример.
есть div id="content". В него подгружается контент. Ну так и вешайте через него через on все обработчики, котрые надо.
Типа
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#content').on('click').....
  3.  

Все события вешайте на постоянный элемент. И проблем не будет. Если вообще ни как то вешайте через $(document)
А на счет плагина, я так и не понял, что не получается. я с плагинами как-то не очень дружу
мне больше нравятся виджеты. Там есть метод creat() и рефреш. В принципе если это Ваш плагин, то можно создать метод рефреш самому, да и к не своему дописать.
Можно вообще покопаться в исходник какого-нибудь UI, все это решается.
Т.е если не сложно выложите код, и что конкретно у Вас не получилось передать. Я сам ни разу с такими проблемами не сталкивался. Желательно с разметкой HTML
tuareg Отправлено: 23 Декабря, 2011 - 14:39:28 • Тема: JavaScript выведенный через AJAX не работает. • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 9519
Viper пишет:
tuareg не будет оно так работать. Ещё раз говорю $(this) в on() не является ссылкой на текущий объект.

Давно?
http://jsfiddle[dot]net/tuareg/9yH6f/
tuareg Отправлено: 23 Декабря, 2011 - 13:48:12 • Тема: Уменьшение картинки в зависимости от разрешния • Форум: JavaScript & VBScript

Ответов: 15
Просмотров: 6205
Я код писал из головы. Но подобно этому у меня сделано центровка окна по середине экрана. При из изменении экрана она работает.
Вот, только не картинка....
http://jsfiddle[dot]net/tuareg/CE5zK/
tuareg Отправлено: 23 Декабря, 2011 - 13:38:46 • Тема: JavaScript выведенный через AJAX не работает. • Форум: JavaScript & VBScript

Ответов: 20
Просмотров: 9519
armancho7777777 пишет:
tuareg пишет:
Можно пример, когда live сработает плохо?

Пример выше, с livequery, точно с live() работать не будет.

Если я правильно понял, что делает Ваш код. Есть менюшка, в ней ссылки, при клике на ссылку подгружается контент. В нем ссылки, при нажатии на которые что то происходит?
Ну и я приивел пример с delegate() он сработает! Потом если ссылки выбирать не
$('#div_content a') а сразу саму ссылку
типа $('a.ссылка') сработает и live()?
Viper
CODE (javascript):
скопировать код в буфер обмена
  1. $('elem').on('click', function(){
  2.         var data = $(this).prop('someAttr');
  3.         $.myPlugin();
  4. });
  5.  

А у Вас получается, что Вы ссылку на сам элемент не передаете
так по идее должно
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('elem').on('click', function(){
  3.         var data = $(this).prop('someAttr');
  4.         $(this).myPlugin();
  5. или
  6.         $.myPlugin($(this));  
  7.  

У Вас же $.myPlugin(); это вообще обыкновенная ф-я.
tuareg Отправлено: 23 Декабря, 2011 - 05:39:40 • Тема: Выборка из базы • Форум: Вопросы новичков

Ответов: 18
Просмотров: 671
Нет так не получится. Можно попробовать формировать массив при выводе из MySQL, а потом его сортировать
tuareg Отправлено: 23 Декабря, 2011 - 01:03:16 • Тема: Выборка из базы • Форум: Вопросы новичков

Ответов: 18
Просмотров: 671
Я глянул. Т.е хочется, чтобы неотмодерированные были по возрастанию, а другие по убыванию?
tuareg Отправлено: 23 Декабря, 2011 - 00:22:45 • Тема: Выборка из базы • Форум: Вопросы новичков

Ответов: 18
Просмотров: 671
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. ORDER BY  moderate ASC,id DESC
  3.  

Страниц (83): В начало « ... 59 60 61 62 [63] 64 65 66 67 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB