Страницы

четверг, 21 ноября 2013 г.

mysql Узнать таблицу представления

Для того, что бы вывести информацию об представлении надо выполнить

SHOW CREATE VIEW viewName

воскресенье, 17 ноября 2013 г.

angularjs ng-repeat ng-click

Для того что бы без проблем можно было вызвать  ng-click внутри ng-repeat, надо вместо переменных  в фигурных скобках писать просто переменные (вместо {{item.id}} просто item.id):

<li ng-repeat="item in items" ng-click="myMethod(item.id)">
   text
</li>

javascript foreach

Аналог php конструкции foreach в javascript:

var length = myArray.length, element = null;

for (var i = 0; i < length; i++) {
   element = myArray[i];
}

четверг, 14 ноября 2013 г.

javascript array_intersect()

Аналог php функции array_intersect в javascript:

function array_intersect(array1, array2)
{
   var result = array1.filter(function(n) {
      return array2.indexOf(n) !== -1;
   });

   return result;
}

javascript in_array()

Аналог php функции in_array в javascript:

function in_array(needle, haystack) {
   return haystack.indexOf(needle) !== -1;
}

воскресенье, 10 ноября 2013 г.

angularjs ng-repeat Не работает сортировка

angularjs 1.0.6

Столкнулся с тем что ангулар отказывается сортировать элементы при применении стандартного механизма сортировки:

data-ng-repeat="(key,region) in regions | orderBy:'name'"

Я присылаю данные с сервера в json и сразу показываю:

$http.get('/get.php).success(function(response){
 $scope.regions = response;
});


Оказалось что ангулар начинает сортировать только если массив данных для сортировки уже отсортирован по ключу.

Вот такие данные он сортировать отказывался:

[
 3 => [
 'id' => 3
 'name' => 'some3'
 ],
 1 => [
 'id' => 1
 'name' => 'some2'
 ],
 2 => [
 'id' => 2
 'name' => 'some2'
 ],
]

А такие прошли на ура:

[
 1 => [
 'id' => 1
 'name' => 'some1'
 ],
 2 => [
 'id' => 2
 'name' => 'some2'
 ],
 3 => [
 'id' => 3
 'name' => 'some3'
 ],
]

среда, 6 ноября 2013 г.

mariadb-client : Зависит: mariadb-client-5.5 (= 5.5.33a+maria-1~saucy) но он не будет установлен

Если при установке mariadb вылезли ошибки:

Пакеты, имеющие неудовлетворённые зависимости:
 mariadb-client : Зависит: mariadb-client-5.5 (= 5.5.33a+maria-1~saucy) но он не будет установлен
 mariadb-server : Зависит: mariadb-server-5.5 (= 5.5.33a+maria-1~saucy) но он не будет установлен



Решение:

Смотрим актуальные версии пакетов:

apt-cache show mysql-common | grep Version
apt-cache show libmysqlclient18 | grep Version


Пример:

ivan@ivan-desktop:~$ apt-cache show mysql-common | grep Version

Version: 5.5.34-0ubuntu0.13.10.1
Version: 5.5.33a+maria-1~saucy
Version: 5.5.32-0ubuntu7

ivan@ivan-desktop:~$ apt-cache show libmysqlclient18 | grep Version

Version: 5.5.34-0ubuntu0.13.10.1
Version: 5.5.33a+maria-1~saucy
Version: 5.5.32-0ubuntu7


Указываем точную версию пакетов, которые хотим установить:

apt-get install mariadb-server-5.5 mariadb-client-5.5 \
 libmysqlclient18=5.5.33a+maria-1~saucy \
 mysql-common=5.5.33a+maria-1~saucy


Нашел тут: http://askubuntu.com/questions/365992/ubuntu-13-10-installing-mariadb

Установка Nginx + PHP + MariaDB


MariaDB

Для ubuntu saucy

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://mirror.timeweb.ru/mariadb/repo/5.5/ubuntu saucy main'

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client

Для других дистрибутивов надо смотреть инструкции https://downloads.mariadb.org/mariadb/repositories/



Nginx

sudo apt-get install nginx



PHP

sudo apt-get install php5-cli php5-common php5-mysql php5-gd php5-fpm php5-cgi php5-fpm php-pear php5-mcrypt php5-curl php5-imap php5-memcache php5-xsl php5-json


sudo gedit /etc/php5/fpm/php.ini

cgi.fix_pathinfo = 0



sudo gedit /etc/php5/fpm/pool.d/www.conf

security.limit_extensions = .php



sudo gedit /etc/nginx/sites-available/default

server {
listen 80;

index index.php index.html;

server_name *.localhost;

root /home/user/www/$subdomain;

set $subdomain "";

if ($host ~* ^([a-z0-9-\.]+)\.localhost$) {
set $subdomain $1;
}

location / {

try_files $uri $uri/ /index.php /index.html;

}

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

location ~* \.(?:jpg|ico|gif|png|css|js|svg)$ {
access_log off;
expires 30d;
}
}

ubuntu mysqldiff

Для сравнения локальных баз данных надо набрать в консоли:

mysqldiff --user=root --password=mypass oldDatabase newDatabase


пятница, 1 ноября 2013 г.

phpExcel Получение буквы колонки по индексу

Так гораздо лучше, если приходится часто изменять количество колонок в таблице, а самих колнок достаточно большое количество

<?php
$ColumnIndex = 25;
$ColumnLetter = PHPExcel_Cell::stringFromColumnIndex($ColumnIndex);