есть такой код в начале шаблона сайта, он вроде бы как мне кажется грузит хостинг:
<?php
$db = mysql_connect("localhost","admin","1234567");
mysql_select_db("baza_1234",$db);
if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Firefox' ) !== false )
{
mysql_query ("UPDATE jos_modules SET published = '1' WHERE id = '85'");
}
else
{
mysql_query ("UPDATE jos_modules SET published = '0' WHERE id = '85'"); [i](Вот это действие можно сделать что бы оно срабатывало только 1 раз после срабатывания предыдущего действий, не обязательно что бы оно срабатывало каждый раз, но только после захода другого юзер агента.)[/i]
}
if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Opera' ) !== false )
{
mysql_query ("UPDATE jos_modules SET published = '1' WHERE id = '92'");
}
else
{
mysql_query ("UPDATE jos_modules SET published = '0' WHERE id = '92'"); [i](Аналогично и это действие.)[/i]
}
mysql_close($db);
?>
Можно его как нибудь оптимизировать что бы не грузил хост? Если не затруднит, подскажите сразу подправленный код) Почему грузит сервак?
Спасибо за помощь))
Спустя 49 минут, 55 секунд (29.04.2011 - 14:08) Metatron написал(а):
по поводу оптимизации.. Я выскажусь..
1. При создании запросов к БД все поля лучше возводить втильды апострофы и желательно прописывать адрес таблицы. Пример: UPDATE `jos_modules` SET `published` = '1' WHERE `id` = '85' . и тогда будет работать быстрее...
2. Воздержитесь от использование двойных кавычек.. Ибо в них определяются дополнительные символы и туда можно совать переменные. Так что они тоже действуют на память. Пример: $db = mysql_connect('localhost','admin','1234567');
Ну и ещё некоторые функции обрабатывают строки медленно очень.. Если они очень большие.
PS.. А зачем проверять браузеры?
1. При создании запросов к БД все поля лучше возводить в
2. Воздержитесь от использование двойных кавычек.. Ибо в них определяются дополнительные символы и туда можно совать переменные. Так что они тоже действуют на память. Пример: $db = mysql_connect('localhost','admin','1234567');
Ну и ещё некоторые функции обрабатывают строки медленно очень.. Если они очень большие.
PS.. А зачем проверять браузеры?
Спустя 11 минут, 57 секунд (29.04.2011 - 14:20) Игорь_Vasinsky написал(а):
Metatron
тильды, это помоимо ~, а - ` вродебы апостроф...
а по поводу оптимизации: у тя перезапись для каждого захода на страничку, т.е. не важно - еслиодин и тот же юзер обновит страницу - то всё равно перезапись, а ты сделай чтоб условие срабатывало 1 раз в день для каждого юзера, например при помощи куки.
тильды, это помоимо ~, а - ` вродебы апостроф...
а по поводу оптимизации: у тя перезапись для каждого захода на страничку, т.е. не важно - еслиодин и тот же юзер обновит страницу - то всё равно перезапись, а ты сделай чтоб условие срабатывало 1 раз в день для каждого юзера, например при помощи куки.
Спустя 11 минут, 34 секунды (29.04.2011 - 14:31) mike1982 написал(а):
Цитата (Metatron @ 29.04.2011 - 11:08) |
по поводу оптимизации.. Я выскажусь.. 1. При создании запросов к БД все поля лучше возводить в тильды и желательно прописывать адрес таблицы. Пример: UPDATE `jos_modules` SET `published` = '1' WHERE `id` = '85' . и тогда будет работать быстрее... 2. Воздержитесь от использование двойных кавычек.. Ибо в них определяются дополнительные символы и туда можно совать переменные. Так что они тоже действуют на память. Пример: $db = mysql_connect('localhost','admin','1234567'); Ну и ещё некоторые функции обрабатывают строки медленно очень.. Если они очень большие. PS.. А зачем проверять браузеры? |
Спасибо, но на счет тильд не совсем понял, ~ это вроде тильда.
Попробую с одинарными кавычками.
Просто нужно чтобы разная инфа высвечивалась в зависимости от браузера.
Спустя 4 минуты, 35 секунд (29.04.2011 - 14:36) Игорь_Vasinsky написал(а):
mike1982
Цитата |
Попробую с одинарными кавычками |
речь шла об апострофах - `
Спустя 5 минут, 21 секунда (29.04.2011 - 14:41) mike1982 написал(а):
Цитата (Игорь_Vasinsky @ 29.04.2011 - 11:20) |
Metatron а по поводу оптимизации: у тя перезапись для каждого захода на страничку, т.е. не важно - еслиодин и тот же юзер обновит страницу - то всё равно перезапись, а ты сделай чтоб условие срабатывало 1 раз в день для каждого юзера, например при помощи куки. |
Верно, мне как раз таки и нужно что бы действие else выполнялось только 1 раз при первом заходе любого другого юзер агента (либо в конце шаблона и только 1 раз), но не средствами куки, так как для следущих отличающихся от firefox агентов, это действие каждый раз уже не нужно выполнять пока снова не зайдет firefox. Но как это воплотить в скрипте моих знаний не достаточно((
Спустя 4 минуты, 56 секунд (29.04.2011 - 14:46) Metatron написал(а):
Цитата (mike1982 @ 29.04.2011 - 15:41) | ||
Верно, мне как раз таки и нужно что бы действие else выполнялось только 1 раз при первом заходе любого другого юзер агента (либо в конце шаблона и только 1 раз), но не средствами куки, так как для следущих отличающихся от firefox агентов, это действие каждый раз уже не нужно выполнять пока снова не зайдет firefox. Но как это воплотить в скрипте моих знаний не достаточно(( |
сделай через сессию
и не придётся делать проверку)
либо пиши в базу инфу о том какой браузер. так тоже можно делать. хотя это тоже дополнительная нагрузка.
Спустя 10 минут, 50 секунд (29.04.2011 - 14:57) mike1982 написал(а):
Написал такой код:
<?php
$db = mysql_connect('localhost','admin','1234567');
mysql_select_db('baza_1234',$db);
if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Firefox' ) !== false )
{
mysql_query (UPDATE `jos_modules` SET `published` = '1' WHERE `id` = '85');
}
else
{
mysql_query (UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '85'); это можно сделать что бы только 1 раз выполнялось после захода агента firefox а не каждый раз
}
if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Opera' ) !== false )
{
mysql_query (UPDATE `jos_modules` SET `published` = '1' WHERE `id` = '92');
}
else
{
mysql_query (UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '92');
}
mysql_close($db);
?>
Теперь вообще страница не открывается, где ошибка???
а через сессию я никогда ничего не делал, вообще не представляю как((
<?php
$db = mysql_connect('localhost','admin','1234567');
mysql_select_db('baza_1234',$db);
if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Firefox' ) !== false )
{
mysql_query (UPDATE `jos_modules` SET `published` = '1' WHERE `id` = '85');
}
else
{
mysql_query (UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '85'); это можно сделать что бы только 1 раз выполнялось после захода агента firefox а не каждый раз
}
if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Opera' ) !== false )
{
mysql_query (UPDATE `jos_modules` SET `published` = '1' WHERE `id` = '92');
}
else
{
mysql_query (UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '92');
}
mysql_close($db);
?>
Теперь вообще страница не открывается, где ошибка???
а через сессию я никогда ничего не делал, вообще не представляю как((
Спустя 6 минут, 57 секунд (29.04.2011 - 15:04) Metatron написал(а):
Цитата (mike1982 @ 29.04.2011 - 15:57) |
Написал такой код: <?php $db = mysql_connect('localhost','admin','1234567'); mysql_select_db('baza_1234',$db); if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Firefox' ) !== false ) { mysql_query (UPDATE `jos_modules` SET `published` = '1' WHERE `id` = '85'); } else { mysql_query (UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '85'); } if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Opera' ) !== false ) { mysql_query (UPDATE `jos_modules` SET `published` = '1' WHERE `id` = '92'); } else { mysql_query (UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '92'); } mysql_close($db); ?> Теперь вообще страница не открывается, где ошибка??? а через сессию я никогда ничего не делал, вообще не представляю как(( |
возьми запросы в кавычки)))
mysql_query ("UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '85'");
Спустя 16 минут, 11 секунд (29.04.2011 - 15:20) mike1982 написал(а):
Спасибо за помощь вам!
Может еще можно как нибудь попроще код???:
mysql_query (UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '85');
это можно сделать что бы только 1 раз выполнялось после захода агента firefox а не каждый раз.
Может еще можно как нибудь попроще код???:
mysql_query (UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '85');
это можно сделать что бы только 1 раз выполнялось после захода агента firefox а не каждый раз.
Спустя 2 часа, 32 минуты, 34 секунды (29.04.2011 - 17:53) mike1982 написал(а):
Цитата (Metatron @ 29.04.2011 - 12:04) |
возьми запросы в кавычки))) mysql_query ("UPDATE `jos_modules` SET `published` = '0' WHERE `id` = '85'"); |
насколько меньше будет нагрузка после таких изменений???
Спустя 1 час, 58 минут, 17 секунд (29.04.2011 - 19:51) liw написал(а):
Зависит от размеров базы/железа/частоты заходов - ну в общем от всего)