revered

Рейтинг
131
Регистрация
03.08.2012
Да, в hosts файле каким-то образом прописался домен. Удалил и все заработало.
MkrtElion:
Верстку всю кидай во вьюху. Так же во вьюху передавай данные. И уже данные подставляй в верстку во вьюхе

Вы не совсем поняли как это работает.

Скрипт не как ни связан с проектом на Laravel.

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

Эта вьюха сохраняется в проекте с Laravel и с ней уже работает верстальщик/программист, как с нормальной вьюхой.

Разумеется, никто не генерирует таким PHP скриптов вьюху в самом приложении Laravel :)

NothingMatters:
Что это за верстальщик который не может нажать автоформатирование в IDE? Он в notepad верстает?

PS
Как я вижу это Laravel. Вы там совсем упоролись так вьюхи генерить? Кто придумал так говнокодить?

А как их генерить? Подскажите классное решение.

totamon:
какой смысл у вашей проблемы? на кой вам эта табуляция в коде?🍿

PHP скрипт генерирует HTML код.

Скажем так автоматическая верстка по параметрам, которые переданы в PHP скрипт. (шорткоды)

Этот код будет дорабатывать верстальщик, по этому он должен быть читабельным.

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

Хотелось бы, чтобы скрипт это делал автоматически.

~AL~:
Добавляйте в нужное место \t

В том то и проблема.

Что все переменные берутся из БД.

Шорткод может стоять в любом месте.

По этому я не знаю куда вставлять \t и вообще какое их количество вставлять.

Elvis123:
Из википедиии🤣🤣

Прежде чем это писать, Вы сами смотрели то на Википедии информацию и на сколько она полная по всем городам России?

Удалось найти городские районы в формате SQL.

Прикрепляю к сообщению дамп базы.

Регионы и города России. А так же городские районы. Надеюсь кому-то пригодиться!

zip geo.zip
LEOnidUKG:
Загрузили бы my.cfg или my.ini т.е. настройки mysql вашей.

my.cnf

[mysqld]

collation-server = utf8_general_ci
character-set-server = utf8
local-infile=0
innodb_file_per_table = 1
pid-file = /var/run/mysqld/mysqld.pid
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
bind-address = 127.0.0.1
innodb-buffer-pool-size = 268435456
innodb-additional-mem-pool-size = 33554432
innodb-log-file-size = 5242880
innodb-log-buffer-size = 16777216
innodb-flush-log-at-trx-commit = 2
table-cache = 400
query-cache-size = 268435456
max-allowed-packet = 134217728
thread-cache-size = 16
query-cache-limit = 16777216
key-buffer-size = 4282384384
net-buffer-length = 67108864
read-buffer-size = 134217728
read-rnd-buffer-size = 134217728
sort-buffer-size = 67108864
tmp-table-size = 268435456
max-heap-table-size = 268435456
join-buffer-size = 268435456
myisam-sort-buffer-size = 67108864
aria-pagecache-buffer-size = 268435456
long-query-time = 1
table-open-cache = 2048
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

innodb таблиц нет.

только Myisam.

Сервер:

Процессор	4 X QEMU Virtual CPU version 2.3.0 2399.996 MHz

Оперативная память 2624 / 7822 MiB
Размер дискового пространства 39.97 GiB
Файл подкачки (swap) 0 MiB
Средняя загрузка (1, 5, 15 мин) 0.42 0.32 0.28
Продолжительность работы 3 hours 44 minutes
Количество процессов 161

Apache 2.4.6-45.el7.centos.4
MySQL 5.5.52-1.el7
PHP 5.4.16-42.el7
Perl 5.16.3-291.el7
Kernel 3.10.0-514.26.2.el7.x86_64
edogs:
По большому счету это никак не сократить.
Выборка идет по индексам - место каждой записи ищется быстро, но проблема в том, что бы выбрать каждую запись - надо к ней отдельно обратиться.
Если значения идут так или иначе подряд, то иногда помогает alter table order by field - что бы подряд стоящие значения были рядом и могли выбираться за "один проход" (это актуально даже в случае ссд, хотя и менее чем с хдд).
Еще момент - посмотрите не выбираете ли Вы случаем text/blob/varchar поля, за ними мускулу приходится лезть в "отдельное место" каждый раз, т.е. если выбирается 1 строка, а в ней 4 текстовых поля - это по сути требуют 1+4=5 обращений к диску.
При этом не забывайте, что если в таблице есть хоть одно поле с переменной длиной (varchar, text, blob), то даже поля с фиксированной длиной тоже будут хранится как поля с переменной.

Да, несколько varchar полей выбираю.

SELECT `id`,`name`,`url` FROM `organization` WHERE `id` IN (123,345,346 ... 34534) AND `city`=518 AND `status`=1 ORDER BY `name` ASC LIMIT 0,20

Попробовал выбирать только id

SELECT `id` FROM `organization` WHERE `id` IN (123,345,346 ... 34534) AND `city`=518 AND `status`=1 ORDER BY `name` ASC LIMIT 0,20

Время выполнения примерно такое же.

Если есть строки с переменной длиной в БД, например название организации. Как быть?

Лучше оставить varchar или сделать char и пускай пробелами заполняется?

edogs:
1) Если элементы реально идут подряд, попробуйте id>=1 and id<=5 или еще лучше - id between 1 and 5
2) Если в последнем случае выбирается больше чем (примерно) 30% строк от размера таблицы, индекс может не использоваться, тут может помочь force index
3) select * в общем случае это ад и трэш. Наверняка хотя бы пару полей можно исключить, лучше писать select field2, field5 .. чем просто тупо *

Спасибо за ответ.

1. Элементы идут не подряд.

2. Выбирается максимум 5-10% строк. В большинстве случаев не более 1%. (таблица 9 000 000 строк)

3. Да, знаю. Здесь так написал, чтобы сократить.

Всего: 350