|
Карма: 0
Сообщений: 29 Сила слова: 0
|
Есть запрос вида
$check_session_query="SELECT @date:= CAST(CONCAT(CAST(YEAR(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-',
CAST(MONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-',
CAST(DAYOFMONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), ' ', '09:00:00') AS DATETIME);
SELECT FROM sessions * WHERE DATE(timer)=DATE(@date);";
mysqli_multi_query($connector, $check_session_query);
Он проверяет нет ли в базе строк вида [id строки] [2011 05 22] [прочие данные], где собственно дата - это и есть timer, по которому идет проверка.
Теперь, как мне извлечь результат проверки из запроса выше?
Набросал пока вот такую (нерабочую) конструкцию:
do {
// получаем ответ на запрос из результирующего набора
$check_session_result = mysqli_use_result($connector);
while ($row = mysqli_fetch_array($check_session_result))
{
if($row=="")// обрабатываем данные
$error_to_display.="Расписание на данную дату еще не сформированно.";
if($row!="")
while()
{
!!!Что здесь должно быть? Как мне извлечь строки вида [2011 05 22 9:00] 1 1 1 1 отсюда?
}
}
//осовобождаем память
mysqli_free_result($check_session_result);
// переходим на следующий ответ из результирующего набора
// если следующего ответа нет - цикл завершается
} while (mysqli_next_result($connector));
|
|
|
|
|
Записан
|
|
|
|
|
PatrioT ↓
|
 |
|
22 Май, 2011, 06:46:07 , спустя 24 минуты 7 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 22 Сила слова: 0
|
1. Подправить запросы от синтаксических ошибок
2. Обязательно использовать мульти запрос? ведь можно и разделить на два query
По всей видимости $row и будет содержать нужные данные из таблицы sessions, и $row=="" лишнее
|
|
|
|
|
Записан
|
|
|
|
|
armageddance ↓
|
 |
|
22 Май, 2011, 06:59:16 , спустя 13 минут 9 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 29 Сила слова: 0
|
Мультизапросы обязательно, потому что в коде встречаются и вот такие гиганты, которые без множественных запросов очень муторно реализовывать:
$set_rasp_query = "SELECT @date:= CAST(CONCAT(CAST(YEAR(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-',
CAST(MONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-',
CAST(DAYOFMONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), ' ', '09:00:00') AS DATETIME);
SELECT @session1:= DATE_ADD(@date, INTERVAL '00:0' MINUTE_SECOND);
SELECT @session2:= DATE_ADD(@date, INTERVAL '45:0' MINUTE_SECOND);
SELECT @session3:= DATE_ADD(@date, INTERVAL '90:0' MINUTE_SECOND);
SELECT @session4:= DATE_ADD(@date, INTERVAL '135:0' MINUTE_SECOND);
SELECT @session5:= DATE_ADD(@date, INTERVAL '180:0' MINUTE_SECOND);
SELECT @session6:= DATE_ADD(@date, INTERVAL '225:0' MINUTE_SECOND);
SELECT @session7:= DATE_ADD(@date, INTERVAL '270:0' MINUTE_SECOND);
SELECT @session8:= DATE_ADD(@date, INTERVAL '315:0' MINUTE_SECOND);
SELECT @session9:= DATE_ADD(@date, INTERVAL '360:0' MINUTE_SECOND);
SELECT @session10:= DATE_ADD(@date, INTERVAL '415:0' MINUTE_SECOND);
SELECT @session11:= DATE_ADD(@date, INTERVAL '450:0' MINUTE_SECOND);
SELECT @session12:= DATE_ADD(@date, INTERVAL '495:0' MINUTE_SECOND);
INSERT INTO sessions (timer, admin_id, master_id, session_type) VALUES (@session1, 1, 1, 1),
(@session2, 1, 1, 1),
(@session3, 1, 1, 1),
(@session4, 1, 1, 1),
(@session5, 1, 1, 1),
(@session6, 1, 1, 1),
(@session7, 1, 1, 1),
(@session8, 1, 1, 1),
(@session9, 1, 1, 1),
(@session10, 1, 1, 1),
(@session11, 1, 1, 1),
(@session12, 1, 1, 1);";
$set_rasp_result = mysqli_multi_query($connector, $set_rasp_query);
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
22 Май, 2011, 07:15:07 , спустя 15 минут 51 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
Мультизапросы обязательно, потому что в коде встречаются и вот такие гиганты, которые без множественных запросов очень муторно реализовывать:
да нет, надо быть проще - просто голову создателю этого куска говна камнем разбивать и все. чтобы больше такое не смог написать. мультизапросы тут не причем
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
armageddance ↓
|
 |
|
22 Май, 2011, 07:32:00 , спустя 16 минут 53 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 29 Сила слова: 0
|
phpdude, данный mysql-код массивный и неуклюжий, согласен. Но в таком случае как надо (или можно) реализовывать желаемое по другому, более правильно?
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
22 Май, 2011, 07:42:42 , спустя 10 минут 42 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: 20790 Сила слова: 1.66
|
armageddance, простой запрос и формирование даты на пхп и простой форич будет уже нагляднее и проще для поддержки
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
armageddance ↓
|
 |
|
22 Май, 2011, 07:48:56 , спустя 6 минут 14 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 29 Сила слова: 0
|
Хм, на другом авторитетном php-форуме мне наоборот посоветовали как можно больше нагрузки убрать в mysql, якобы, и движок будет быстрее работать, да и эффективнее получится, чем через php все манипуляции реализовывать.
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
22 Май, 2011, 07:54:35 , спустя 5 минут 39 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
Хм, на другом авторитетном php-форуме мне наоборот посоветовали как можно больше нагрузки убрать в mysql
выполняй чо безмозгло ))))))))))))))) что я могу сказать
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
kostyl ↓
|
 |
|
22 Май, 2011, 08:09:23 , спустя 14 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
авторитетном php-форуме
ссыль в студию
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
KaFe ↓
|
 |
|
22 Май, 2011, 08:36:06 , спустя 26 минут 43 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Сраный Тролль Карма: -13346
Сообщений: 1727 Сила слова: -772.79
|
авторитетном php-форуме
ссыль в студию
+1
|
|
|
|
|
Записан
|
|
|
|
|
Sinkler ↓
|
 |
|
22 Май, 2011, 08:58:23 , спустя 22 минуты 17 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Похуй, пляшем!
Группа: Джедаи Карма: 73
Сообщений: 6805 Сила слова: 1.07
|
движок будет быстрее работать
у вас у всех там чо, сайты с милионными хитами?
|
|
|
|
|
Записан
|
|
|
|
|
PatrioT ↓
|
 |
|
22 Май, 2011, 09:04:10 , спустя 5 минут 47 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 22 Сила слова: 0
|
$set_rasp_query = "SELECT @date:= CAST(CONCAT(CAST(YEAR(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-',
CAST(MONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-',
CAST(DAYOFMONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), ' ', '09:00:00') AS DATETIME);
SELECT @session1:= DATE_ADD(@date, INTERVAL '00:0' MINUTE_SECOND);
SELECT @session2:= DATE_ADD(@date, INTERVAL '45:0' MINUTE_SECOND);
SELECT @session3:= DATE_ADD(@date, INTERVAL '90:0' MINUTE_SECOND);
SELECT @session4:= DATE_ADD(@date, INTERVAL '135:0' MINUTE_SECOND);
SELECT @session5:= DATE_ADD(@date, INTERVAL '180:0' MINUTE_SECOND);
SELECT @session6:= DATE_ADD(@date, INTERVAL '225:0' MINUTE_SECOND);
SELECT @session7:= DATE_ADD(@date, INTERVAL '270:0' MINUTE_SECOND);
SELECT @session8:= DATE_ADD(@date, INTERVAL '315:0' MINUTE_SECOND);
SELECT @session9:= DATE_ADD(@date, INTERVAL '360:0' MINUTE_SECOND);
SELECT @session10:= DATE_ADD(@date, INTERVAL '415:0' MINUTE_SECOND);
SELECT @session11:= DATE_ADD(@date, INTERVAL '450:0' MINUTE_SECOND);
SELECT @session12:= DATE_ADD(@date, INTERVAL '495:0' MINUTE_SECOND);
INSERT INTO sessions (timer, admin_id, master_id, session_type) VALUES (@session1, 1, 1, 1),
(@session2, 1, 1, 1),
(@session3, 1, 1, 1),
(@session4, 1, 1, 1),
(@session5, 1, 1, 1),
(@session6, 1, 1, 1),
(@session7, 1, 1, 1),
(@session8, 1, 1, 1),
(@session9, 1, 1, 1),
(@session10, 1, 1, 1),
(@session11, 1, 1, 1),
(@session12, 1, 1, 1);"; если это снижение нагрузки на mysql, то я космонафт в 3 поколение
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
22 Май, 2011, 09:11:05 , спустя 6 минут 55 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
у вас у всех там чо, сайты с милионными хитами?
да не смеши, тогда они бы знали что самое зло - мускуль xD, а тут они его используют ля арифметики! Космонавты блядь
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Sinkler ↓
|
 |
|
22 Май, 2011, 09:33:03 , спустя 21 минуту 58 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Похуй, пляшем!
Группа: Джедаи Карма: 73
Сообщений: 6805 Сила слова: 1.07
|
все чаще вижу и не понимаю, когда оптимизацию вперед всего выносят
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
22 Май, 2011, 09:46:00 , спустя 12 минут 57 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
Sinkler, маркетинг хули
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|