Познавательный блог Мобильная врсия

Страницы

Промо

Архив рубрики 'Программинг'

Как переименовать папку SAPE с кодом и ссылками?

Привет, сегодня у нас на повестке дня два вопроса — Можно ли переименовать sape.php и можно ли переименовать папку с саповским кодом? Ответ — Можно.

По умолчанию саповская папка с файлами sape.php и links.db имеет ужасное имя типа b2bsc5232aba24736a6ed32aa это не очень удобно и не очень красиво. Поэтому появилась необходимость переименовать папку или вовсе скинуть эти файлы в папку uploads, дабы никого не смущать.

Читать полностью →

Выбор случайного элемента из базы MySQL

Пришлось недавно писать такое чудо, чтобы баннеры выводились в одном месте в случайном порядке. Ротация, проще говоря.

SELECT * FROM table ORDER BY rand() LIMIT 1

Вариант простой, но тупой. При большой базе будет нереально тормозить.

А вот второй пошустрее.

$row_count = mysql_result(mysql_query('SELECT COUNT(*) FROM tTable;'), 0);
$query = array();
while (count($query) < 10) {
$query[] = '(SELECT * FROM tTable LIMIT '.rand(, $row_count).', 1)';
}
$query = implode(' UNION ', $query);
$res = mysql_query($query);

При больших объемах таблицы (более 10 000 записей) этот запрос становится медленным и я бы советовал применять другой более сложный но быстрый запрос:

SELECT name FROM my_table JOIN ( SELECT CEIL(RAND() * ( SELECT MAX(id) FROM my_table )) AS randomID ) AS random_table ON random_table.randomID=my_table.ID

При сравнении первого и второго варианта были получены следующие данные:

1 вариант — 1,5 сек.
2 вариант — 0,001 сек.

Как работает алгоритм сортировки! :)

Юным прогерам посвящается. Трансильванский университет Sapientia представил новый обучающий курс по алгоритмам сортировки. Стоит отметить талант создателей и высокую наглядность пособия.

Как убрать копирайты в SMF — Sorry, the copyright must be in the template.

Как убрать копирайты в SMF — Sorry, the copyright must be in the template.  С такой проблемой я столкнулся, когда попытался отредактировать шаблон своего форума и вставить туда вместо лейблов PHP и MySQL счетчики посещений. Поправил и Опачки — "Sorry, the copyright must be in the template". Хоть форум SMF и бесплатный для использования, копирайты убирать они не разрешают, видимо жопная боль настигает авторов и без того поднимающих бабло с поддержки.

Если вам не очень нужно удалять копирайты или вы не уверены в своих силах — то и не нужно. Пусть себе висят. Для отчаянных ссылка далее...

Читать полностью →

SpawEditor уродует HTML код и вытягивает его в одну строчку

При работе с одним из движков, на котором установлен визуальный редактор SPAW Editor 2, я столкнулся с одной неприятной фигнёй. Визуальный редактор уродует HTML код и вытягивает его в одну строчку, а также часто вместо тега <br> — перехода строки, использует тег <p>. Такое положение дел совсем не радовало меня, т.к. часто приходилось править код новостей и статей вручную, а когда HTML вытянут в одну строчку, найти в нём что-либо — проблема.

Выглядело это следующим образом. Открыли новость в HTML, написали текст и теги и разделили их строками, чтобы в будущем удобно было редактировать. 2 лишних байта в базе данных, которые занимают символы перехода строки не стоят уродливого кода.

spaw 1 - SpawEditor уродует HTML код и вытягивает его в одну строчку

Дальше просматриваем наш код в визуальном редакторе. Все хорошо.

Читать полностью →

Как выбрать дубликаты записей в phpMyAdmin

Возникла как-то раз задачка — найти и удалить дублирующиеся по одному полю (имени) записи в базе данных MySQL. Средствами phpMyAdmin.

# Удаление дубликатов записей в MYSQL
# автор: Nc_Soft
# 30.12.09

#допустим, в таблице tbl имеется поле url и надо удалить все записи,
#чтобы url присутствовал в единственном экземпляре.
#Для этого необходимо поставить уникальный индекс на url с игнором

ALTER IGNORE TABLE tbl ADD UNIQUE (url)

#сделать копию таблицы (без индексов) можно так
CREATE TABLE copy_tbl SELECT * FROM tbl

За материал спасибо https://snippets.pp.ru/

ReloadCMS — Notice: Undefined index: time in api.articles.php on line 748

Однажды ни с того, ни с сего на сайте одной конторки начало вываливаться предупреждение — Notice: Undefined index: time in modules/engine/api.articles.php on line 748. Оно вещает нам о том, что не знает никаких time. Отключение предупреждений немного спасло ситуацию, однако, новости на главной странице начали показываться вразброс. Номер строки с ошибкой значения не имел и менялся. Версия движка 1.2.7.

Раньше они выводились в хронологическом порядке, в зависимости от времени, а теперь время в новостях отображалось нормальное, а новости выводились в непонятном порядке. Ни я ни хостер никаких движений с сайтом не проводили. Почитав великие интернеты я нашел инфу о том, что у статей слетели индексы (ненавижу ReloadCMS и движки работающие на файлах). Нашел патч для исправления индексов от парня fishMD. И нашел ссылку на него, однако она оказалась мертва. Но я нашел :)

Читать полностью →

Как удалить пункт — Импорт из WordPress (Импорт новостей из WordPress)

Однаждыдо меня дошло, что держать варез сайт на движке WordPress не только неудобно, но и затратно. Невероятная нагрузка, создаваемая WP на мой худенький сервер, заставила задуматься о том, что пора переезжать. После поисков я остановился на DLE. И решено было переносить сайт на этот движок.

Сказано — сделано. Нашел бесплатный модуль WPI 1.0, по инструкции установил его и конвертировал базу, правда не без труда и ручных доработок.

После конвертирования я решил удалить плагин и в том же порядке, который описан при установке я удалял файлы. Однако в конце из админки никак не хотел пропадать пункт Импорт из WordPress (Импорт новостей из WordPress).

Читать полностью →

phpMyAdmin — #1136 – Column count doesn’t match value count at row 1

При восстановлении из бекапа одного сайта я столкнулся с проблемой. При попытке закачать бекап в phpMyAdmin сервер выдавал мне сообщение "#1136 - Column count doesn't match value count at row 1". Из перевода я понял, что количество столбцов или их значение не соответствует заданным в запросе.

Запрос должен выглядеть примерно так

INSERT INTO `dle_tags` (`куда`, `куда`, `куда`) VALUES ('что', 'что','что');

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

Защита комментариев DLE от спама

У меня есть довольно много сайтов на DLE, решил поделится способом, которым я защищаюсь от спамных комментариев. Просто запрещаю размещать кликабельные ссылки (кроме групп модераторов и администраторов) в комментариях. Делаю следующим способом:

Читать полностью →



Поиск по сайту

Статистика

Мета

  Разработка и дизайн — StvPromo.ru