2022年12月19日 星期一

youtube 以iframe嵌入網頁符合自適應RWD

 網頁版面為


<div class="videoWrapper">
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/影片ID" title="YouTube video player" width="560"></iframe>
</div>

CSS樣式

.videoWrapper{
	position: relative; 
	padding-bottom: 56.25%; 
	height: 0; 
	overflow: hidden; 
	max-width: 100%; 
}

.videoWrapper iframe{
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%;
}

參考:
16:9的比例為 56.25%
4:3的比例為 75%

相關:
RWD:以區塊對角線的比例來設定隨螢幕大小自動伸縮的背景圖

2022年12月7日 星期三

如何檢查 mysqli_query() insert,update是否成功

要檢查 mysqli_query() 插入是否成功,可以使用 mysqli_affected_rows() 函數。 此函數返回受查詢影響的行數。 如果插入成功,受影響的行數應該大於 0。如下:
$result = mysqli_query($conn, $query);
if (mysqli_affected_rows($conn) > 0) {
    // insert was successful
} else {
    // insert failed
}
此方法僅適用於insert, update跟delete 的queries查詢。 對於select資料,mysqli_affected_rows() 將始終返回 0。 在這種情況下,可以使用 mysqli_num_rows() 檢查select查詢是否返回任何行。
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) > 0) {
    // query returned one or more rows
} else {
    // query returned no rows
}

2022年11月8日 星期二

讓phpmyadmin顯示並列出超過500筆以上的資料

方法1.

如果有主機phpmyadmin資料夾的寫入權限的話 可以進入該資料夾找一個config.inc.php檔案 然後找到設定限制行數到這行,改成想設定的顯示上限值,列如數值設定為1000
$cfg['MaxRows'] = 1000; 
如果該行不存在(默認安裝中缺少該行),則轉到文檔底部並添加該行

方法2.

直接寫在sql上,在select的語法後面加上Limit值,例如要撈出0到1000筆資料:
SELECT id, name, mail
FROM tableName
WHERE active = 1
ORDER BY id
LIMIT 0,1000;

2022年6月14日 星期二

利用.htaccess來禁止網站資料夾在瀏覽器上列出檔案列表

為了防止有些虛擬主機沒有保護網站主機目錄下的檔案,導致在沒有index檔案的資料夾內,直接使用網址瀏覽會列出該資料夾下所有的檔案內容,那麼可以在網站根目錄上使用.htaccess來達成禁止瀏覽器列出檔案列表,以免資料夾內的檔案內容被看光光。


作法:在網站根目錄上新增.htaccess檔案,然後在裡面加上下面這一行:
Options -Indexes

那麼以網址直接瀏覽沒有index檔案的folder夾,就會輸出403錯誤


其他相關語法:
  • Options +Indexes:列出資料夾內所有檔案
  • Options -Indexes:隱藏資料夾內所有檔案(輸出403)
  • IndexOptions +FancyIndexing:列出資料夾下所有檔案,檔案前面包含檔案類型的小圖示
  • IndexOptions -FancyIndexing : 列出資料夾下所有檔案,但不包含檔案類型的小圖示
  • IndexIgnore *.php *.html:隱藏特定副檔名的檔案

2022年6月2日 星期四

php 以fopen,fwrite,fclose寫入檔案(log檔或txt檔)

$destination = __DIR__.'/logs/filename.log'; //指定檔案位置
$clog = fopen($destination,'a'); //開啟檔案,沒有的話就會新增一個
fwrite($clog,$someText."_".date("Y-m-d H:i:s")."\n"); //組合要寫入的內容,最後加上一個斷航符號\n
fclose($clog); //完成後關閉檔案

2022年5月16日 星期一

Mac(OS Monterey) 把excel轉存為.csv時改為用分號;分隔

1.退出Excel 
2.進入mac的"系統偏好設定"->"語言與地區"
3.在偏好的語言那邊新增語系(目前試出來用荷蘭語可以,不知是否還有其他語系) ,將新增的語系設定為主要












4.開啟Excel並打開要轉存的檔案,選擇另存新檔,格式選擇CSV UTF-8 (door komma's gescheiden warden) (.csv)



5.轉存出來的csv就是以分號分隔,存完後再進入系統偏好設定把語系改回來即可

2022年4月3日 星期日

mysqli_insert_id() 取得mysql insert後程式新增的那筆資料的id

當使用mysql語法在資料表上insert一筆新資料後想要立即取得該資料的id 可以在insert後立即使用mysqli_insert_id()來取得剛剛insert進去新的那筆資料的id(資料表 AUTO_INCREMENT 產生的id ) 用法: $getId = mysqli_insert_id($link); //$link是自行宣告的連接mysql的參數 取得該id後再使用select * from table wher id = $getID; 就可以撈出最新這筆insert進去的資料 另外一個select last_insert_id(); 的方式