Mysql — выбор случайной строки

Для выбора случайной строки из mysql можно использовать следующий запрос:

SELECT * FROM Table ORDER BY RAND()

Для выбора нескольких случайных строк подойдет следующий запрос:
Читать далее

Ошибка «Can’t connect to local MySQL server through socket»

Возникла следующая ошибка:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)' in /home/siteru/www/siteru/library/Zend/Db/Adapter/Pdo/Abstract.php:129
Stack trace:
#0 /home/siteru/www/site.ru/library/Zend/Db/Adapter/Pdo/Abstract.php(129): PDO->__construct('mysql:host=loca...', 'user', 'pass', Array)
#1 /home/siteru/www/site.ru/library/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#2 /home/siteru/www/site.ru/library/Zend/Db/Adapter/Abstract.php(448): Zend_Db_Adapter_Pdo_Mysql->_connect()
#3 /home/siteru/www/site.ru/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET CHARACTER S...', Array)
#4 /home/siteru/www/site.ru/application/application.php(111): Zend_Db_Adapter_Pdo_Abstract->query('SET CHARACTER S...')
#5 /home/siteru/www/site.ru/application/application.php(50): AT_Application->initialize()
#6 /home/siteru/www/site.ru/index.php(30): AT_Application->bootstrap('/home/siteru/www in /home/siteru/www/site.ru/library/Zend/Db/Adapter/Pdo/Abstract.php on line 144

Для решения проблемы, нужно узнать у хостеров какой путь к mysql серверу можно использовать вместо localhost.
Читать далее

Не работает stripos или strtolower

Что делать если у вас перестали работать php функция strtolower или stripos?

Причина в том, что скорее всего у вас слетела кодировка по умолчанию и функции перестают работать с русским текстом.

Решение данной проблемы такое:
Читать далее

Ошибка «Field xxx doesn’t have a default value»

Если у вас возникает ошибка mysql:

«Field xxx doesn’t have a default value»

это означает, что при вставке или обновлении данных у поля нет значения по умолчанию. Для решения проблемы нужно:

  • найти данный запрос и исправить его, добавить необходимое поле;
  • в свойствах таблицы указать значение по умолчанию;

Еще одним способом решения является выключение режима mysql: «Strict Mode», т.е. мы выключаем режим строгого соответствия стандарту MySql.
Читать далее

Удаление последнего символа на PHP

Удаление последнего символа в строке

$str = substr($str,0,-1);

Удаление последних N — символов

$str = substr($str,0,-N);

Получение последнего символа:

$lastsymbol = $str{strlen($str)-1};

Проверить находится ли в конце строки определенный символ и удалить его:

if ($str{strlen($str)-1} == ';') {
    $str = substr($str,0,-1);
}

Описание функции: substr
Читать далее

Примеры использования mod_rewrite

Советы и примеры по преобразованию адресов с помощью mod_rewrite
———————————————————
1) Привести адреса вида /?y=2002&m=3&d=26 к /2002-3-26.html

RewriteRule ^(.+)/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\.html$ /$1/?y=$2&m=$3&d=$4

———————————————————
2) Адреса info.php?idd=679337 к 679337.html

RewriteRule ^([0-9]+).html$ info.php?idd=$1

———————————————————
3) Адреса вида /index.php?page=order&id=124 к /pade/id/124
Читать далее

htaccess для zend framework

Для работы Zend Framework файл public/.htaccess содержит следующий код:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

где,
Читать далее

Работа с переменными в Smarty

Инициализация новой переменной в Smarty и ее дальнейшее использование происходит таки образом:

{assign var=idCont value=$this->get(‘idContent’)}
{assign var=Par value=$this->getParent($idCont)}

Еще по переменным в Smarty

{$foo} <— отображение простой переменной (не массив и не объект)
{$foo[4]} <— отображает 5-й элемент числового массива
{$foo.bar} <— отображает значение ключа «bar» ассоциативного массива, подобно PHP $foo[‘bar’]
{$foo.$bar} <— отображает значение переменного ключа массива, подобно PHP $foo[$bar]
{$foo->bar} <— отображает свойство «bar» объекта
{$foo->bar()} <— отображает возвращаемое значение метода «bar» объекта
{#foo#} <— отображает переменную «foo» конфигурационного файла
{$smarty.config.foo} <— синоним для {#foo#}
{$foo[bar]} <— синтаксис доступен только в цикле section, см. {section}
{assign var=foo value=’baa’}{$foo} <— отображает «baa», см. {assign}
{«foo»} <— статические значения также разрешены

Математические операции с переменными:
Читать далее

OpenX: баннер накладывается на элементы дизайна

Для этого необходимо установить прозрачность баннера.

В OpenX 2.8.5 это делается следующим образом:
при добавлении баннера в «параметры баннера», необходимо поставить галочку «Разрешить прозрачный фон»