devwiki:php

PHP and SQL

  • select today data entry
    where DATE(`time_entry`) = CURDATE()
  • 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
    1. 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;
    2. make sure database connect is set to utf8mb4 mode in php before query and insert
      mysqli_set_charset($con, "utf8mb4");
    3. 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
  • devwiki/php.txt
  • Last modified: 2022/11/16 16:16
  • by ying