真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php獲取表格中所有數(shù)據(jù) php獲取文件列表

php怎樣讀取excel表格內(nèi)容?

常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優(yōu)缺點(diǎn)。個(gè)人推薦用第三種方法,因?yàn)樗梢钥缙脚_使用。\x0d\x0a\x0d\x0a1. 以.csv格式讀取\x0d\x0a\x0d\x0a將.xls轉(zhuǎn)換成.csv的文本格式,然后再用PHP分析這個(gè)文件,和PHP分析文本沒有什么區(qū)別。\x0d\x0a\x0d\x0a優(yōu)點(diǎn):跨平臺,效率比較高、可以讀寫。\x0d\x0a\x0d\x0a缺點(diǎn):只能直接使用.csv的文件,如果經(jīng)常接受.xls二進(jìn)制文件的話需要手工轉(zhuǎn)換,不能自動化。一個(gè)文件只有一個(gè)SHEET。\x0d\x0a\x0d\x0aPHP有自帶的分析.csv函數(shù):fgetcsv\x0d\x0a\x0d\x0aarray fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )\x0d\x0a\x0d\x0ahandle 一個(gè)由 fopen()、popen() 或 fsockopen() 產(chǎn)生的有效文件指針。\x0d\x0a\x0d\x0alength (可選)必須大于 CVS 文件內(nèi)最長的一行。在 PHP 5 中該參數(shù)是可選的。如果忽略(在 PHP 5.0.4 以后的版本中設(shè)為 0)該參數(shù)的話,那么長度就沒有限制,不過可能會影響執(zhí)行效率。\x0d\x0a\x0d\x0adelimiter (可選)設(shè)置字段分界符(只允許一個(gè)字符),默認(rèn)值為逗號。\x0d\x0a\x0d\x0aenclosure (可選)設(shè)置字段環(huán)繞符(只允許一個(gè)字符),默認(rèn)值為雙引號。該參數(shù)是在 PHP 4.3.0 中添加的。 和 fgets() 類似,只除了 fgetcsv() 解析讀入的行并找出 CSV 格式的字段然后返回一個(gè)包含這些字段的數(shù)組。\x0d\x0a\x0d\x0afgetcsv() 出錯(cuò)時(shí)返回 FALSE,包括碰到文件結(jié)束時(shí)。\x0d\x0a\x0d\x0a注意: CSV 文件中的空行將被返回為一個(gè)包含有單個(gè) null 字段的數(shù)組,不會被當(dāng)成錯(cuò)誤。\x0d\x0a\x0d\x0a當(dāng)然也可以自己手動分析字符串。\x0d\x0a\x0d\x0a還可以利用fputcsv函數(shù)將行格式化為 CSV 并寫入文件指針。\x0d\x0a\x0d\x0a2. ODBC鏈接數(shù)據(jù)源\x0d\x0a\x0d\x0a優(yōu)點(diǎn):支持多種格式,cvs, xls等。支持讀寫,使用標(biāo)準(zhǔn)SQL語言,和SQLSERVER、MYSQL數(shù)據(jù)庫幾乎完全一樣。\x0d\x0a\x0d\x0a缺點(diǎn):值支持windows服務(wù)器\x0d\x0a\x0d\x0a3. PHP自定義類\x0d\x0a\x0d\x0a優(yōu)點(diǎn):跨平臺。某些類支持寫操作。支持.xls二進(jìn)制文件\x0d\x0a\x0d\x0a常用的類有phpExcelReader、PHPExcel。其中后者支持讀寫,但是需要php5.2以上版本。\x0d\x0a\x0d\x0aphpExcelReader是專門用來讀取文件的。返回一個(gè)數(shù)組,包含表格的所有內(nèi)容。\x0d\x0a\x0d\x0a該 class 使用的方法可以參考網(wǎng)站下載回來的壓縮檔中的 example.php。\x0d\x0a\x0d\x0a不過我下載回來的 (版本 2009-03-30),有兩點(diǎn)要注意:\x0d\x0a\x0d\x0areader.php 中的下面這行要修改\x0d\x0a\x0d\x0a將 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;\x0d\x0a\x0d\x0a改為 require_once ‘oleread.inc’;\x0d\x0a\x0d\x0aexample.php 中\(zhòng)x0d\x0a\x0d\x0a修改 $data-setOutputEncoding(’CP1251′);\x0d\x0a\x0d\x0a為 $data-setOutputEncoding(’CP936′);\x0d\x0a\x0d\x0aexample2.php 中\(zhòng)x0d\x0a\x0d\x0a修改 nl2br(htmlentities($data-sheets[$sheet]['cells'][$row][$col]));\x0d\x0a\x0d\x0a為 $table_output[$sheet] .= nl2br(htmlspecialchars($data-sheets[$sheet]['cells'][$row][$col]));\x0d\x0a\x0d\x0a不然中文會有問題。\x0d\x0a\x0d\x0a繁體的話可以修改為CP950、日文是CP932,具體可參考codepage說明。\x0d\x0a\x0d\x0a修改 $data-read(’jxlrwtest.xls’) 為自己的 excel 文件名,zip 檔中附的 jxlrwtest.xls 應(yīng)該是壞了。

10年積累的網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有中江免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

如何用php取出數(shù)據(jù)庫表中一列所有數(shù)據(jù)?

很簡單,用循環(huán),你那樣用只能有一條記錄,建議多看看php手冊,對自己有好處

while ($result= mysql_fetch_array($result, MYSQL_NUM)) {

print_r($result);

}

php獲取表格內(nèi)容的問題

總結(jié)一下

PHP完全可以做到只在當(dāng)前頁顯示提交后的結(jié)果。

在action="當(dāng)前腳本的文件名" 或用action=?php echo $_SERVER["PHP_SELF"] ?

不過也許這不是你想要的結(jié)果,為什么呢。

因?yàn)檫@樣還是會使頁面刷新。如果運(yùn)行速度快的話,沒有什么大的影響。

如果你想的是無刷新提交,那就要用到AJAX了這是一種 js的技術(shù)。不是只用PHP能辦到的了。

AJAX也不能學(xué),現(xiàn)在網(wǎng)上有一些封裝好了的類,你自己學(xué)學(xué)看吧。

Ajax是使用客戶端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開發(fā)方法。Web頁面不用打斷交互流程進(jìn)行重新加裁,就可以動態(tài)地更新。使用Ajax,用戶可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動態(tài)的Web用戶界面。

一個(gè)Ajax交互從一個(gè)稱為XMLHttpRequest的java script對象開始。如同名字所暗示的,它允許一個(gè)客戶端腳本來執(zhí)行HTTP請求,并且將會解析一個(gè)XML格式的服務(wù)器響應(yīng)。Ajax處理過程中的第一步是創(chuàng)建一個(gè)XMLHttpRequest實(shí)例。使用HTTP方法(GET或POST)來處理請求,并將目標(biāo)URL設(shè)置到XMLHttpRequest對象上。

當(dāng)你發(fā)送HTTP請求,你不希望瀏覽器掛起并等待服務(wù)器的響應(yīng),取而代之的是,你希望通過頁面繼續(xù)響應(yīng)用戶的界面交互,并在服務(wù)器響應(yīng)真正到達(dá)后處理它們。要完成它,你可以向XMLHttpRequest注冊一個(gè)回調(diào)函數(shù),并異步地派發(fā)XMLHttpRequest請求??刂茩?quán)馬上就被返回到瀏覽器,當(dāng)服務(wù)器響應(yīng)到達(dá)時(shí),回調(diào)函數(shù)將會被調(diào)用。

1. 初始化Ajax

Ajax實(shí)際上就是調(diào)用了XMLHttpRequest對象,那么首先我們的就必須調(diào)用這個(gè)對象,我們構(gòu)建一個(gè)初始化Ajax的函數(shù):

/**

* 初始化一個(gè)xmlhttp對象

*/

function InitAjax()

{

var ajax=false;

try {

ajax = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

ajax = new ActiveXObject("Microsoft.XMLHTTP");

} catch (E) {

ajax = false;

}

}

if (!ajax typeof XMLHttpRequest!='undefined') {

ajax = new XMLHttpRequest();

}

return ajax;

}

你也許會說,這個(gè)代碼因?yàn)橐{(diào)用XMLHTTP組件,是不是只有IE瀏覽器能使,不是的經(jīng)我試驗(yàn),F(xiàn)irefox也是能使用的。

那么我們在執(zhí)行任何Ajax操作之前,都必須先調(diào)用我們的InitAjax()函數(shù)來實(shí)例化一個(gè)Ajax對象。

2. 使用Get方式

現(xiàn)在我們第一步來執(zhí)行一個(gè)Get請求,加入我們需要獲取 /show.php?id=1的數(shù)據(jù),那么我們應(yīng)該怎么做呢?

假設(shè)有一個(gè)鏈接:<a href="/show.php?id=1">新聞1</a>,我點(diǎn)該鏈接的時(shí)候,不想任何刷新就能夠看到鏈接的內(nèi)容,那么我們該怎么做呢?

//將鏈接改為:

<a href="#" onClick="getNews(1)">新聞1</a>

//并且設(shè)置一個(gè)接收新聞的層,并且設(shè)置為不顯示:

<div id="show_news"></div>

同時(shí)構(gòu)造相應(yīng)的java script函數(shù):

function getNews(newsID)

{

//如果沒有把參數(shù)newsID傳進(jìn)來

if (typeof(newsID) == 'undefined')

{

return false;

}

//需要進(jìn)行Ajax的URL地址

var url = "/show.php?id="+ newsID;

//獲取新聞顯示層的位置

var show = document.getElementById("show_news");

//實(shí)例化Ajax對象

var ajax = InitAjax();

//使用Get方式進(jìn)行請求

ajax.open("GET", url, true);

//獲取執(zhí)行狀態(tài)

ajax.onreadystatechange = function() {

//如果執(zhí)行是狀態(tài)正常,那么就把返回的內(nèi)容賦值給上面指定的層

if (ajax.readyState == 4 ajax.status == 200) {

show.innerHTML = ajax.responseText;

}

}

//發(fā)送空

ajax.send(null);

}

那么當(dāng),當(dāng)用戶點(diǎn)擊“新聞1”這個(gè)鏈接的時(shí)候,在下面對應(yīng)的層將顯示獲取的內(nèi)容,而且頁面沒有任何刷新。當(dāng)然,我們上面省略了show.php這個(gè)文件,我們只是假設(shè)show.php文件存在,并且能夠正常工作的從數(shù)據(jù)庫中把id為1的新聞提取出來。

這種方式適應(yīng)于頁面中任何元素,包括表單等等,其實(shí)在應(yīng)用中,對表單的操作是比較多的,針對表單,更多使用的是POST方式,這個(gè)下面將講述。

3. 使用POST方式

其實(shí)POST方式跟Get方式是比較類似的,只是在執(zhí)行Ajax的時(shí)候稍有不同,我們簡單講述一下。

假設(shè)有一個(gè)用戶輸入資料的表單,我們在無刷新的情況下把用戶資料保存到數(shù)據(jù)庫中,同時(shí)給用戶一個(gè)成功的提示。

//構(gòu)建一個(gè)表單,表單中不需要action、method之類的屬性,全部由ajax來搞定了。

<form name="user_info">

姓名:<input type="text" name="user_name" /><br />

年齡:<input type="text" name="user_age" /><br />

性別:<input type="text" name="user_sex" /><br />

<input type="button" value="提交表單" onClick="saveUserInfo()">

</form>

//構(gòu)建一個(gè)接受返回信息的層:

<div id="msg"></div>

我們看到上面的form表單里沒有需要提交目標(biāo)等信息,并且提交按鈕的類型也只是button,那么所有操作都是靠onClick事件中的saveUserInfo()函數(shù)來執(zhí)行了。我們描述一下這個(gè)函數(shù):

function saveUserInfo()

{

//獲取接受返回信息層

var msg = document.getElementById("msg");

//獲取表單對象和用戶信息值

var f = document.user_info;

var userName = f.user_name.value;

var userAge = f.user_age.value;

var userSex = f.user_sex.value;

//接收表單的URL地址

var url = "/save_info.php";

//需要POST的值,把每個(gè)變量都通過來聯(lián)接

var postStr = "user_name="+ userName +"user_age="+ userAge +"user_sex="+ userSex;

//實(shí)例化Ajax

var ajax = InitAjax();

//通過Post方式打開連接

ajax.open("POST", url, true);

//定義傳輸?shù)奈募﨟TTP頭信息

ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

//發(fā)送POST數(shù)據(jù)

ajax.send(postStr);

//獲取執(zhí)行狀態(tài)

ajax.onreadystatechange = function() {

//如果執(zhí)行狀態(tài)成功,那么就把返回信息寫到指定的層里

if (ajax.readyState == 4 ajax.status == 200) {

msg.innerHTML = ajax.responseText;

}

}

}

大致使用POST方式的過程就是這樣,當(dāng)然,實(shí)際開發(fā)情況可能會更復(fù)雜,這就需要開發(fā)者去慢慢琢磨。

如何用php取出數(shù)據(jù)庫表中一列所有數(shù)據(jù)

用該列的字段名即可,select語句的通用形式如下:

select 你要的信息

from 數(shù)據(jù)表(一個(gè)或多個(gè))

where 滿足的條件

所以你的sql語句為:

select 要取得列名 from 表名 where 1

例子

SELECT id FROM `article` where 1


本文題目:php獲取表格中所有數(shù)據(jù) php獲取文件列表
瀏覽路徑:http://weahome.cn/article/hijphp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部