PHP and SQL
- select today data entry
where DATE(`time_entry`) = CURDATE()
- ref: date related: https://popsql.com/learn-sql/mysql/how-to-query-date-and-time-in-mysql
- select current week data entry with option of week start day
where YEARWEEK(`time_entry`) = YEARWEEK(CURDATE()) where YEARWEEK(`time_entry`, 1) = YEARWEEK(CURDATE(), 1)
- Note: weekofyear return week number, means previous year will return too
where WEEKOFYEAR(`time_entry`) = WEEKOFYEAR(NOW());
- select current month data entry
where YEAR(`time_entry`) = YEAR(NOW()) AND MONTH(`time_entry`)=MONTH(NOW());
- select past 24 hr
where `time_entry`> DATE_SUB(NOW(), INTERVAL 1 DAY)
- select past 7 days
where `time_entry`> DATE_SUB(NOW(), INTERVAL 1 WEEK)
- select past 1 month time
where `time_entry`> DATE_SUB(NOW(), INTERVAL 1 MONTH)
- array related
// sort array sort($my_list);
- unicode data insert, make sure
- database table's charset is utf8mb4 in sql
CREATE TABLE info_table ( id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, name varchar(50) NOT NULL, edit_time DATETIME NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- make sure database connect is set to utf8mb4 mode in php before query and insert
mysqli_set_charset($con, "utf8mb4");
- make sure charset is declared in html
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Php Date and Time Related
- all time info
date('N'); // current day of week, 6 for saturday date('N', date_val) // day of week for that date data date("Y-m-d"); // today's date string
- get current week range (monday to sunday) or any day's week range
//ref: https://stackoverflow.com/questions/5552862/finding-date-range-for-current-week-month-and-year function rangeWeek($datestr) { date_default_timezone_set('Asia/Singapore'); $date_val = strtotime($datestr); return array ( "start" => date('N', $date_val) == 1 ? date ('Y-m-d', $date_val) : date ('Y-m-d', strtotime('last monday', $date_val)), "end" => date('N', $date_val) == 7 ? date ('Y-m-d', $date_val) : date ('Y-m-d', strtotime('next sunday', $date_val)) ); } echo rangeWeek('2011-4-5');
Python to Php
python | php | |
---|---|---|
string operation | word.strip() | trim($word) |
word[1:5] | substr($word, 1, 5) | |
word[1:] | substr($word, 1) | |
prefix+subfix | $prefix.$subfix | |
text.replace('find','replace') | str_replace('find','replace',$text) | |
text.lower() | strtolower($text) | |
text.startswith(prefix) | ? | |
list operation | res_list = [x.strip() for x in txt.split('\n')] | $res_list = array_map('trim', explod('\n', $txt)) |
$res_list = array_map('trim', preg_split("/\r\n|\n|\r/", $selected) ); // ok for text |
||
res_list.append(tmp_img) | array_push($res_list, $tmp_img); | |
$res_list[] = $tmp_img; | ||
for each in word_list: | foreach($word_list as $each){} | |
if id in check_list: | if(in_array($id, $check_list)){} | |
logic | if mark == '#': pass; elif mark == '*' | if($mark===“#”){} elseif($mark===“*”){} |
php: $tmp_path = $path.strtolower(str_replace(' ','_', trim(substr($each,1)))).'.jpg'; $tmp_img = sprintf('<br><img src="%s">', $tmp_path); array_push($res_list, $tmp_img); join("\n",$res_list); python: (human logic writing) tmp_path = path + each[1:].strip().replace(' ','_').lower()+ '.jpg' tmp_img = '<br><img src="{0}">'.format(tmp_path) res_list.append(tmp_img) '\n'.join(res_list)
Use PHP as HTML File output process
- other than serve php page through apache server, php in commandline also can be used to create html local page.
- cmd code for render php to html file
cd php_root_path php.exe D:\path_to_php_web_page\test.php D:\path_to_php_web_page\test_out.html