[pdo]php使用PDO從資料庫表中讀取資料的實現方法

參考網址:程式前沿 

try{
$pdo=new PDO('mysql:host=localhost;dbname=alpha','root','password');
}catch(PDOException $e){
echo "資料庫連線失敗,原因是:".$e->getMessage();
}
//從資料庫中選擇資料,並將結果賦予一個變數,testtable為資料庫表
$result=$pdo->query('select id,name,age from testtable');
//將查詢出的資料輸出
while($row=$result->fetch()){
echo "ID:".$row['id'];
echo "NAME:".$row['name'];
echo "AGE:".$row['age'];
}

 

發表於 程式設計 | 發表迴響

[扯鈴]相關網站

參考網址:

閃鈴教室 https://sites.google.com/view/shinydiaboloclassroom

閃鈴教室fb https://www.facebook.com/ShinyDiaboloClassroom

民俗體育教學資源網 https://custom.nutn.edu.tw/

109學年度全國民俗體育競賽 https://custom.nutn.edu.tw/contest/?q=47

 

發表於 程式設計 | 發表迴響

[sql]關於max()/min()和group by 的坑

參考網址:itread01 

目前仍在測試中

用子查詢也無法正確解決該問題

用sql的group by指令後 會用哪一筆資料當該組的代表呢?

發表於 程式設計 | 發表迴響

[php]error_reporting

參考網址:程式前沿 PHP中error_reporting()用法詳解

建議使用
error_reporting(7);
只顯示嚴重錯誤,有Fatal error:時也會顯示

ini_set('display_errors',1);
ini_set("error_reporting",7);
//ini_set("error_reporting", E_ALL & ~E_NOTICE );
//E_ALL & ~E_NOTICE 可顯示 Fatal error:
//要注意  E_ALL & ~E_NOTICE 不可用" "
// E_ALL E_NOTICE 等是php定義的常數,不可用" 包起來
//ini_set("error_reporting", E_ERROR | E_WARNING | E_PARSE );
//error_reporting( E_ERROR | E_WARNING | E_PARSE );

 

1 E_ERROR 致命的執行時錯誤
2 E_WARNING 執行時警告(非致命性錯誤)
4 E_PARSE 編譯時解析錯誤
8 E_NOTICE 執行時提醒(經常是bug,也可能是有意的)
16 E_CORE_ERROR PHP啟動時初始化過程中的致命錯誤
32 E_CORE_WARNING PHP啟動時初始化過程中的警告(非致命性錯)
64 E_COMPILE_ERROR 編譯時致命性錯
128 E_COMPILE_WARNING 編譯時警告(非致命性錯)
256 E_USER_ERROR 使用者自定義的致命錯誤
512 E_USER_WARNING 使用者自定義的警告(非致命性錯誤)
1024 E_USER_NOTICE 使用者自定義的提醒(經常是bug,也可能是有意的)
2048 E_STRICT 編碼標準化警告(建議如何修改以向前相容)(此错误级别未使用,且自 PHP 8.4.0 起已弃用。)
4096 E_RECOVERABLE_ERROR 接近致命的執行時錯誤,若未被捕獲則視同E_ERROR
6143 E_ALL 除E_STRICT外的所有錯誤(PHP6中為8191,即包含所有)
32767 E_ALL

最近改寫程式以適應PHP8
似乎還有 E_DEPRECATED 常量值:8192
https://www.php.net/manual/zh/errorfunc.constants.php

發表於 程式設計 | 發表迴響

[sql]子查詢

參考網址:iT邦幫忙 MySQL: 子查詢

select gov_code,count(player_id) as cc from (select gov_code,player_id from game group by player_id) abc group by gov_code

 

player可以參加多項比賽。()內的子查詢先把 player_id group 起來變成只有一筆資料,記得()之後便給個名字,讓它變成一個table。

發表於 程式設計 | 發表迴響

[php]sort

參考網址:落落的日記閣

 PHP Array陣列排序,介紹PHP常用的7種排序法

<?php
//原始陣序
$array = array(5,8,9,5,4,4,2,1,0,5,8,7,4,5,2,6,3,5,1,5);
   
//隨機排序
shuffle($array);
echo "隨機排列\n";
print_r($array);
   
//小到大排序(根據值,會改變index)
sort($array);
echo "小到大排序(根據值,會改變index)\n";
print_r($array);
   
//大到小排序(根據值,會改變index)
rsort($array);
echo "大到小排序(根據值,會改變index)\n";
print_r($array);
   
//小到大排序(根據值,不改變index)
asort($array);
echo "小到大排序(根據值,不改變index)\n";
print_r($array);
   
//大到小排序(根據值,不改變index)
arsort($array);
echo "大到小排序(根據值,不改變index)\n";
print_r($array);
   
//小到大排序(根據key)
ksort($array);
echo "小到大排序(根據key)\n";
print_r($array);
   
//大到小排序(根據key)
krsort($array);
echo "大到小排序(根據key)\n";
print_r($array);
?>

 

發表於 程式設計 | 發表迴響

[CSS]CSS reset

參考網址:

教學
金魚都能懂網頁設計入門 : CSS Reset

「都去整形從零開始」 ─ Reset CSS 的重要

同樣一段的HTML碼在不同的瀏覽器上,看起來怎麼長得不大一樣呀,這是因為每個瀏覽器為了彰顯各自的強大,所以初始都內置了一些自己的 CSS 屬性設定
但這就會造成我們在網頁排版上的一些困擾啦。為了解決這樣的困擾,世界知名的 CSS 大師 Eric A. Meyer 整理出一個很棒的解決方法「Reset CSS」


https://meyerweb.com/eric/tools/css/reset/

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

 

小事之 CSS Reset 與 CSS normalize

https://necolas.github.io/normalize.css/
 

CSS Normalize

因為 reset.css 重置了各個瀏覽器的樣式設定,使得有些有用、常用標籤的默認樣式必須要重新設定,因為這個問題,有人開發出了 normalize.css [4]

在 Normalize.css 的官方頁面上點出了他們的目標:[5]

  • 保留有用的瀏覽器默認設置,而不是將其刪除。
  • 為廣泛的 HTML 元素提供一般化的樣式。
  • 修正瀏覽器的 Bug 與不一致。
  • 透過微妙的改善提高可用性。
  • 有詳細的文檔來解釋代碼。(每個樣式都有註解是處理什麼問題。)

因此 Normalize.css 被使用在 Twitter BootstrapHTML5 BoilerplateGOV.UKRdioCSS Tricks 以及其他很多的 framework 和網站上。

最大的特色就是保留原本預設 HTML 標籤的樣式,僅針對不同瀏覽器與各版本間不相容的標籤進行些微調整。

 

發表於 程式設計 | 發表迴響

[bootstrap]中文說明文件及fieldset (TIPS)無效解決方案

參考網址:六角學院https://bootstrap.hexschool.com/

Bootstrap 4 筆記 #01 快速做出Navbar導覽列

 

bootstrap fieldset 無效 解決方案
由于bootstrap重写了fieldset和其中的legend,那么样式就会变成了”标题”下面一条分割线
 

<style>
    fieldset {
        padding: .35em .625em .75em;
        margin: 0 2px;
        border: 1px solid silver;
    }

    legend {
        padding: .5em;
        border: 0;
        width: auto;
    }
</style>

 

以上的效果不理想
 

改用
 

<fieldset class="border p-2" style="width:60%;border-radius: 10px">
	<legend class="float-none w-auto p-2" style="text-align: left;"><font color=red>TIPS</font></legend>
請於該場次比賽90分鐘前完成填報<br>
</fieldset>

 

發表於 程式設計 | 發表迴響

[php]PHP 像excel rank排名次

參考網址:德琦雜記

輸出結過如下:
分數: 3 名次: 5
分數: 2 名次: 7
分數: 1 名次: 10
分數: 2 名次: 7
分數: 2 名次: 7
分數: 6 名次: 3
分數: 8 名次: 2
分數: 6 名次: 3
分數: 20 名次: 1
分數: 1 名次: 10
分數: 3 名次: 5

$values = array(3,2,1,2,2,6,8,6,20,1,3);
$ordered_values = $values;
rsort($ordered_values);
$i=0;
foreach ($values as $key => $value)  {
  foreach ($ordered_values as $ordered_key => $ordered_value)  {
    if ($value === $ordered_value) {
        $key = $ordered_key;
        break;
    }
  }
  //echo '分數: '.$value . ' 名次: ' . ((int) $key + 1) . '<br/>';
  $rp[$i] = $key+1;
  $i++;
}
print_r($rp);

 

發表於 程式設計 | 發表迴響

PC QRCODE 讀碼

參考網址:https://toolskk.com/

發表於 軟體使用 | 發表迴響