20100826 PHP-MySQL-CLASS 12
CSV 檔案匯出及匯入 [ 使用 class 講義 ]
匯出
Q: 為何 uploadcsv.php 在 IE 是空白的?
A:
透過表單匯入 CSV 檔案
CSV 下載
MyISAM 與 Innodb 差別
my.ini [ Linux 內可能是 my.cnf ] 設定
*當 php 網頁以圖形, pdf, CSV 等形式呈現, 不能有網頁輸出, 引用檔案亦不能有 echo 或是空格出現
資料庫網頁建議
更新及刪除須確認資料是不是唯一的資料
CSV 檔案匯出及匯入 [ 使用 class 講義 ]
匯出
- 以 mysql 指令加上 select 語法
- 匯出檔案位於資料庫所在的目錄內
- Windows ( Appserv ): Appserv\MySQL\data\資料庫
- Linux: /var/mysql/data
Q: 為何 uploadcsv.php 在 IE 是空白的?
A:
- 缺少 < meta > 標籤
- < meta >標籤在 < title > 之後
- 請調整順序
- 以上 2 點只在 IE 下發生, 其他瀏覽器不會發生
透過表單匯入 CSV 檔案
- CSV 檔案為資料表資料, 分隔符號為,
- phpmyadmin 匯出資料的分隔符號為 ; php 網頁內自訂分隔符號為 , 且 excel 設定為 , 所以請留意 CSV 的分隔符號
- 檔案上傳後, 使用 fopen( ) 開啟檔案, 最後以 fclose( ) 關閉檔案, 開啟檔案時, 逐列讀取 ( Q: 如何知道 欄位如何分隔 ?)
- 由練習可知, MySQL 允許一次新增多筆資料 ( 請將 $sql echo 出來查看 )
CSV 下載
- 因為不需在瀏覽器顯示, 所以不需 html 標籤, 使用 header( ) 函數指定檔案類型
- show columns from student1 是 MySQL 的指令, 指 "顯示 student1 資料表攔位資訊"
MyISAM 與 Innodb 差別
- 兩者均是 MySQL 資料庫引擎
- Innodb 的功能為 "交易”, 資料更改時,其他人不能更改
- Innodb 較耗資源, MySQL預設關閉
- 資料庫若為 Innodb, 資料庫存取語法亦要增改, 不是引擎改了就有交易功能.
my.ini [ Linux 內可能是 my.cnf ] 設定
- 若要使用 innodb, 請取消 skip_innodb
- read_buffer_size 若太小, 讀取資料可能會中斷 ( 若MySQL 內有二進位資料 ,建議調大 )
*當 php 網頁以圖形, pdf, CSV 等形式呈現, 不能有網頁輸出, 引用檔案亦不能有 echo 或是空格出現
資料庫網頁建議
- 新增
- 列表
- 更新
- 刪除
- 列表以下兩個二選一
- 加分頁
- 加查詢
- 列表加分頁及查詢
更新及刪除須確認資料是不是唯一的資料
- 一般都是以主索引欄位作為 Hyperlink 所攜帶的參數內容
沒有留言:
張貼留言