Thứ Hai, 18 tháng 3, 2024

Gốc Chia Sẽ

TỔNG HỢP CÁC KIẾN THỨC VÀ CÁC ĐOẠN CODE DÙNG TRONG CÔNG VIỆC


Các trang web lấy code:


https://codepad.co/

https://www.30secondsofcode.org/




Các kiến thức cơ bản trong php


hàm truy xuất tới phần tử tước đó trong mảng php: prev()

hàm dùng để thêm phần tử vào cuôi mảng: array_push()

hàm để nén 1 chuỗi : GZCOMPRESS()

magic function: https://viblo.asia/p/magic-methods-trong-php-4dbZN7bklYM

hàm nhận dữ liệu trả về từ câu truy vấn database: fetch_array() and fetch_row()

hàm dùng để lấy 1 or nhiều giá trị ngẫu nhiên từ mảng php: array_rand()


Hàm sắp xếp cho mảng

Trong bài viết này, chúng ta sẽ tìm hiểu một số hàm sắp xếp cho mảng dưới đây:

  • sort() – sắp xếp theo thứ tự tăng dần (tính theo giá trị);
  • rsort() – sắp xếp theo thứ tự giảm dần (tính theo giá trị);
  • asort() – sắp xếp mảng kết hợp theo thứ tự tăng dần, tính theo giá trị;
  • ksort() – sắp xếp mảng kết hợp (liên kết) theo thứ tự tăng dần tính theo khóa;
  • arsort() – sắp xếp mảng kết hợp giảm dần tính theo giá trị;
  • krsort() – sắp xếp mảng theo thứ tự giảm dần tính theo khóa;

array_count_values() trong php dùng để đếm số lần trùng lặp giá trị của các phần tử trong mảng


example:

<?php

echo "this is content file test \n";

$num = "1";

$num1 = "2";

echo "<br>";

echo $num + $num1;

#result: 3;


echo "<br>";


$color = "asdfghjkl";

echo $color[2];

echo "<br>";

#result: d


$cor = 1234;

$convert = (array)$cor;

echo $convert[0];

echo "<br>";

#result: arr[0]=1234


$total = "25 students";

#show display: 25 students

$more = 10;

// echo $total + $more;

$total = $total + $more;


echo "$total";

#result: 35


echo "<br>";


#nối chuỗi

$a = "clue";


$a .= "get";


echo "$a";

#result: clueget


?>

Câu lệnh trong laravel

php artisan migrate:rollback --step=1

php artisan migrate --path="./database/migtations/name_table.php


Các đoạn code trong Laravel

format time theo Carbon 

{{ Carbon\Carbon::parse($notification->time_send)->format('H:i') }}

Code chuyển ngày sang thứ trong tuần

$weekMap = [

yi    0 => 'SU',
    1 => 'MO',
    2 => 'TU',
    3 => 'WE',
    4 => 'TH',
    5 => 'FR',
    6 => 'SA',
];
$dayOfTheWeek = Carbon::now()->dayOfWeek;
$weekday = $weekMap[$dayOfTheWeek];

https://thewebdev.info/2021/05/01/how-to-loop-through-a-date-range-with-javascript/

lấy ra giá trị trùng lặp, lọc giá trị trùng lập
https://www.codegrepper.com/code-examples/javascript/check+duplicate+in+array+javascript
const names = ['Mike', 'Matt', 'Nancy', 'Adam', 'Jenny', 'Nancy', 'Carl']

const count = names =>
  names.reduce((a, b) => ({ ...a,
    [b]: (a[b] || 0) + 1
  }), {}) // don't forget to initialize the accumulator

const duplicates = dict =>
  Object.keys(dict).filter((a) => dict[a] > 1)

console.log(count(names)) // { Mike: 1, Matt: 1, Nancy: 2, Adam: 1, Jenny: 1, Carl: 1 }
console.log(duplicates(count(names))) // [ 'Nancy' ]


- kiểm tra tham số có tồn tại trong mảng hay không
https://stackoverflow.com/questions/22844560/check-if-object-value-exists-within-a-javascript-array-of-objects-and-if-not-add
vd arr = ['a','b','c','d'];
arr.some(i => i == 'c');
// result : true


lấy tất cả các ngày trong 1 khoảng thời gian nhất định
cach 1 : chỉ lấy ngày tháng năm
$period = CarbonPeriod::create('2018-06-14', '2018-06-20');

// Iterate over the period
foreach ($period as $date) {
    echo $date->format('Y-m-d');
}

// Convert the period to an array of dates
$dates = $period->toArray();

cach 2: lấy được thứ ngày
$begin = new DateTime('2010-05-01');
$end = new DateTime('2010-05-10');

$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);

foreach ($period as $dt) {
    echo $dt->format("l Y-m-d H:i:s\n");
}


lấy data dạng mảng trong cột db ra template laravel
json_decode: chuyển nó về dạng mảng
sau đó foreach
$sentAts = json_decode($data->sent_at);
$sentAtText = ' ';
if(!empty($sentAts) ){
foreach($sentAts as $sent){
$sentAtText .= '<p>'.$sent.'</p>';
}
return $sentAtText;
}

query cùng lúc cả 2 trong laravel


whereNotIn('send_type', [2, 3]) send_type != 2 và 3


parse theo carbon

https://carbon.nesbot.com/docs/


Carbon::now(env('TIMEZONE_STRING','Asia/Ho_Chi_Minh'))->dayOfWeek()


lấy dữ liệu trong data from


ví dụ:

<form role="form" method="post" action="/" name="Form">
<label>Name</label>
<input type="text" name="fieldName" required />
</form>


document.forms['Form']['fieldName'].value;


['Form'] là tên Form đặt trong name="...."

['fieldName'] là tên set trong name=".." input


lấy các giá trị trùng nhau trong 2 mảng

https://www.php.net/manual/en/function.array-intersect.php

array_intersect($arr1, $arr2);

cách check CKEDITOR empty và form empty(js)

// CKEDITOR.on('instanceCreated', function(e) {
// e.editor.on('contentDom', function() {
// e.editor.document.on('keyup', function(event) {
// if(CKEDITOR.instances.titleViCKE.getData() == ""){
// document.getElementById('message-titleViCKE-error').style.display = 'block';
// document.getElementById('message-titleViCKE-error').innerHTML = 'Title (in app) not null';
// return false;
// }



// else{
// document.getElementById('message-titleViCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.titleEnCKE.getData() == ""){
// document.getElementById('message-titleEnCKE-error').style.display = 'block';
// document.getElementById('message-titleEnCKE-error').innerHTML = 'Title (in app) not null';
// }
// else{
// document.getElementById('message-titleEnCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.descriptionEnCKE.getData() == ""){
// document.getElementById('message-descriptionEnCKE-error').style.display = 'block';
// document.getElementById('message-descriptionEnCKE-error').innerHTML = 'Description (in app) not null';
// }
// else{
// document.getElementById('message-descriptionEnCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.descriptionViCKE.getData() == ""){
// console.log("check data: ", CKEDITOR.instances.descriptionViCKE.getData());
// document.getElementById('message-descriptionViCKE-error').style.display = 'block';
// document.getElementById('message-descriptionViCKE-error').innerHTML = 'Description (in app) not null';
// }
// else{
// document.getElementById('message-descriptionViCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.contentViCKE.getData() == ""){
// document.getElementById('message-contentViCKE-error').style.display = 'block';
// document.getElementById('message-contentViCKE-error').innerHTML = 'Content (in app) not null';
// }
// else{
// document.getElementById('message-contentViCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.contentEnCKE.getData() == ""){
// document.getElementById('message-contentEnCKE-error').style.display = 'block';
// document.getElementById('message-contentEnCKE-error').innerHTML = 'Content (in app) not null';
// }
// else{
// document.getElementById('message-contentEnCKE-error').style.display = 'none';
// }
// });
// });
// });

// function validateForm() {
// let checkTabDesEn = document.forms['Form']['description_notification[en]'].value;
// let checkTabDesVi = document.forms['Form']['description_notification[vi]'].value;
// let checkTabTitleEn = document.forms['Form']['title_notification[en]'].value;
// let checkTabTitleVi = document.forms['Form']['title_notification[vi]'].value;
// let checkTitleVi = document.forms['Form']['title[vi]'].value;
// let checkTitleEn = document.forms['Form']['title[en]'].value;
// let checkDescVi = document.forms['Form']['description[vi]'].value;
// let checkDescEn = document.forms['Form']['description[en]'].value;
// let checkContentVi = document.forms['Form']['content[vi]'].value;
// let checkContentEn = document.forms['Form']['content[en]'].value;

// if(checkTabDesVi === '' || checkTabTitleVi === '' || checkTitleVi === '' || checkDescVi === '' || checkContentVi === ''){
// console.log("check 1: ", checkTabDesVi)
// console.log("check 2: ", checkTabTitleVi)
// console.log("check 3: ", checkTitleVi)
// console.log("check 4: ", checkDescVi)
// console.log("check 5: ", checkContentVi)
// document.getElementById('message-error').style.display = 'block';
// document.getElementById('message-error').innerHTML = 'Please fill in the content in the vietnamese tab';
// return false;
// }
// else if(checkTabDesEn === '' || checkTabTitleEn === '' || checkTitleEn === '' || checkDescEn === '' || checkContentEn === '') {
// document.getElementById('message-error').style.display = 'block';
// document.getElementById('message-error').innerHTML = 'Please fill in the content in the english tab';
// return false;
// }else{
// document.getElementById('message-error').style.display = 'none';
// }
// // if(checkTabDesVi === '' && checkTabDesEn === ''){
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Please fill in the content in the english tab';
// // return false;
// // }

// // if(checkTabDesEn === '' || checkTabTitleEn === '') {
// // console.log("check 1: ", checkTabDesEn);
// // console.log("check 1.1: ", checkTabTitleEn);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Please fill in the content in the english tab';
// // return false;
// // }
// // if(checkTabDesVi === '' || checkTabTitleVi === '') {
// // console.log("check 2: ", checkTabDesVi);
// // console.log("check 2.1: ", checkTabTitleVi);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Please fill in the content in the vietnamese tab';
// // return false;
// // }
// // if(checkTitleVi === '' || checkTitleEn === ''){
// // console.log("check 3: ", checkTitleVi);
// // console.log("check 3.1: ", checkTitleEn);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Title (in app) not null';
// // return false;
// // }
// // if(checkDescEn === '' || checkDescVi === ''){
// // console.log("check 4: ", checkDescEn);
// // console.log("check 4.1: ", checkDescVi);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Description (in app) not null'
// // return false;
// // }
// // if(checkContentVi === '' || checkContentEn === ''){
// // console.log("check 5: ", checkContentVi);
// // console.log("check 5.1: ", checkContentEn);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Content (in app) not null'
// // return false;
// // }
// }


check form theo jquery
$(document).on('click', '#submit', function () {
// CKEDITOR.replace( 'descriptionViCKE' );
// CKEDITOR.replace( 'titleViCKE' );
// CKEDITOR.replace( 'descriptionEnCKE' );
// CKEDITOR.replace( 'titleEnCKE' );
// CKEDITOR.replace( 'contentViCKE' );
// CKEDITOR.replace( 'contentEnCKE' );
let checkTabDesEn = document.forms['Form']['description_notification[en]'].value;
let checkTabDesVi = document.forms['Form']['description_notification[vi]'].value;
let checkTabTitleEn = document.forms['Form']['title_notification[en]'].value;
let checkTabTitleVi = document.forms['Form']['title_notification[vi]'].value;
let checkTitleVi = CKEDITOR.instances.titleViCKE.getData();
let checkTitleEn = CKEDITOR.instances.titleEnCKE.getData();
let checkDescVi = CKEDITOR.instances.descriptionViCKE.getData();
let checkDescEn = CKEDITOR.instances.descriptionEnCKE.getData();
let checkContentVi = CKEDITOR.instances.contentViCKE.getData();
let checkContentEn = CKEDITOR.instances.contentEnCKE.getData();

if(checkTabTitleVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Title Notification ( display when mobile phone is locked) must not be empty';
return false;
}
if(checkTabDesVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Description Notification ( display when mobile phone is locked) must not be empty';
return false;
}
if(checkTitleVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Title (in-app) must not be empty';
return false;
}
if(checkDescVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Description (in-app) must not be empty';
return false;
}
if(checkContentVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Content (in-app) must not be empty';
return false;
}
if(checkTabTitleEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Title Notification ( display when mobile phone is locked) must not be empty';
return false;
}
if(checkTabDesEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Description Notification ( display when mobile phone is locked) must not be empty';
return false;
}
if(checkTitleEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Title (in-app) must not be empty';
return false;
}
if(checkDescEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Description (in-app) must not be empty';
return false;
}
if(checkContentEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Content (in-app) must not be empty';
return false;
}
})




Delete all trong laravel
function trong controller
public function deleteAll(Request $request)
{
// dd($request);
$ids = $request->ids;
\DB::table("cards")->whereIn('id',explode(",",$ids))->delete();
return response()->json(['success'=>"Deleted successfully."]);
}
\

chuyển đổi mảng thành chuỗi trong php dùng explode

explode(separator,string,limit)

Trong đó:

  • separator: ký tự hoặc chuỗi ký tự phân cách sử dụng để phân biệt các phần tử trong chuỗi.
  • string: chuỗi cần tách thành mảng.
  • limit: xác định số phần tử của mảng đầu ra.
    • >0: trả về mảng có số phần tử là limit phần tử đầu
    • <0: trả về mảng có số phần tử là limit phần tử cuối
    • 0: trả về mảng với 1 phần tử
chuyển chuỗi thành mảng => explode , nối mảng dùng array_merge


Share:

0 comments:

Đăng nhận xét

a1c4b3.blogspot.com

Tìm kiếm Blog này

lifecycle hook angular

Labels