Как поменять mysql table engine
Чтобы поменять mysql table engine, достаточно простой команды:
ALTER TABLE tableName ENGINE = InnoDB;
Где tableName - название вашей таблицы.
Чтобы поменять mysql table engine, достаточно простой команды:
ALTER TABLE tableName ENGINE = InnoDB;
Где tableName - название вашей таблицы.
Пример:
$filename = 'testfile.docx';
header( "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" );
header( 'Content-Disposition: attachment; filename='.$filename);
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
$section->addText('My test text');
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save( "php://output");
Чтобы сделать черные (или любого другого цвета) границы таблицы в PHPWord, при ее инициализации необходимо подать массив с параметрами.
За цвет отвечает параметр borderColor (в данном случае 000000 - черный), за размер - borderSize.
Пример:
...
$table = $section->addTable( [
'borderSize' => 3,
'borderColor' => '000000',
'afterSpacing' => 0,
'Spacing'=> 0,
'cellMargin'=> 0
]);
$table->addRow();
$table->addCell(200)->addText('test');
$table->addCell(200)->addText('test2');
...
Чтобы выровнять ячейку таблицы по центру в PHPWord необходимо задать дополнительный параметр в вызове addText - array('align' => 'center'):
$table->addCell(500)->addText('test text', null, array('align' => 'center'));
Для того, чтобы в PHPWord как сменить ориентацию листа с вертикальной на горизонтальную, необходим такой код:
$paper = new \PhpOffice\PhpWord\Style\Paper();
$paper->setSize('A4');
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection(array(
'pageSizeW' => $paper->getWidth(),
'pageSizeH' => $paper->getHeight(),
'orientation' => 'landscape'
));
$paper->setSize('A4'); - тут можно задать и другой размер из доступных.
Основная настройка: 'orientation' => 'landscape'
Вариант, как можно установить сегодняшнюю дату по дефолту:
$( "#mydate" ).datepicker({
dateFormat: 'yy-mm-dd'
}).datepicker("setDate",'now');
В данном примере данная дата будет установлена всегда, не зависимо от того, задано что-то в input value или нет. Если необходимо чтобы это было зависимо от каких-то условий, добавьте проверку перед тем, как назначать значение.
Иногда необходимо вывести содержимое json в читаемом виде.
Для этого достаточно просто закодировать json с флагом JSON_PRETTY_PRINT (если у вас уже есть json, который уже был закодирован - просто сделайте json_decode, а затем заново json_encode).
Пример:
$result = json_encode($data, JSON_PRETTY_PRINT);
echo '<pre>' . $result . '</pre>';
Если необходимо чтобы кириллица тоже не кодировалась и ее сразу можно было прочитать:
$result = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
echo '<pre>' . $result . '</pre>';
Пример, как в PHP конвертировать часовой пояс с помощью DateTime:
$myDate = new DateTime('03.06.2022 12:35', new DateTimeZone('Europe/Paris')); //создаем с час. поясом Парижа
var_dump($myDate->format("Y-m-d H:i:s")); // выведет "2022-06-03 12:35:00"
$myDate->setTimezone(new DateTimeZone('Europe/Moscow')); // конвертируем в час. пояс Москвы
var_dump($myDate->format("Y-m-d H:i:s")); //выведет "2022-06-03 13:35:00"
Допустим, есть список, у которого необходимо получить значение первого option (при этом не важно, выбран он или нет).
HTML:
<select id="select_id">
<option value="1">Текст 1</option>
<option value="2">Текст 2</option>
</select>
Как выбрать значение с помощью jQuery:
$("#select_id").find("option:first-child").val(); // выведет 1
Если нужен текст:
$("#select_id").find("option:first-child").html(); // выведет 'Текст 1'
Для того, чтобы получить заголовок колонки таблицы при нажатии на ячейку (jQuery), можно использовать следующий код:
$(".exampleTable").on('click', 'td', function(e) {
var index = $(this).index();
var table = $(this).closest('table');
var clickedTableColumnName = table.find('th').eq(index).html();
});
Переменная clickedTableColumnName как раз будет содержать html заголовка.
Примечание: таблица должна содержать th поля, иначе данный код не будет работать.
Допустим, если форма, у которой первое поле попадает под автоматическую фокусировку. Это не всегда удобно, особенно когда к input подключены дополнительные скрипты (к примеру всплывающий календарь для выбора дат - при автоматической фокусировке такой календарь будет сразу становиться видимым).
Есть одна хитрость, помогающая “перенаправить” автоматическую фокусировку: добавить в форму скрытое поле, для которого явно указать, что нужно фокусироваться на нем:
<input type="hidden" autofocus="true" name="your_name" />
Иногда необходимо исключить из результатов запроса некоторые позиции.
Аналог MySQL выражения “WHERE NOT IN” в Eloquent можно записать так:
Model::select(..)->whereNotIn('id', [1,2,10])->get();
Если необходимо, чтобы в Laravel всегда элементы какого-либо отношения выводились отсортированными по какому-либо полу, достаточно после описания отношения добавить orderBy, первый параметр в данном примере - название поля, по которому будет сортировка ('created_at'), второй - направление сортировки ('desc'):
public function orders()
{
return $this->hasMany(Order::class, 'user_id')->orderBy('created_at', 'desc');
}
Пример, как можно записать continue в цикле blade в Laravel:
@foreach ($items as $item)
@if ($item == 1)
@continue
@endif
...
@endforeach
Чтобы узнать полный путь до директории выполнения скрипта, можно использовать функцию getcwd:
$path = getcwd();
var_dump($path);
Рассмотрим, как легко и быстро можно “убить” процесс, который занимает нужный порт в Windows.
Для этого будем использовать командную строку.
Запустите cmd.exe от имени администратора.
Сначала необходимо выяснить, какие процессы занимают нужный порт. Для этого выполним команду:
netstat -ano | findstr :8080
Вместо :8080 необходимо указать любой порт, который вас интересует.
...Чтобы получить parent от выбранного элемента при работе с DOMDocument, можно использовать parentNode
Пример:
$dom = new DOMDocument();
$dom->loadHTML($htmlString);
$forms = $dom->getElementsByTagName('form'); // берем все формы на странице
foreach($forms as $form){
$formParent = $form->parentNode; //у каждой из найденных форм находим parent
// ...
}
Для того, чтобы отменить последний сделанный коммит в Git необходимо использовать следующую команду:
git reset --soft HEAD~1
При этом все изменения, которые были сделаны в коммите, сохранятся - за это отвечает флаг --soft (можно будет внести необходимые правки и сделать снова другой коммит).
Ситуация:
unlink для файла cookie возвращает значение true, но сам файл при этом не удаляется и остается на своем месте.
Первоначально было подозрение, что что-то не так с путем до файла или правами (chmod), но все оказалось гораздо проще.
Решение:
Перед тем, как удалять данный файл, необходимо сначала закрыть CURL соединение:
curl_close($curlConnection);
unlink($path);
Для очистки строки от html кода можно использовать данную функцию:
function stripHtml(html)
{
let tmp = document.createElement("DIV");
tmp.innerHTML = html;
return tmp.textContent || tmp.innerText || "";
}