AJAX讀資料庫抓變數
我有許多問題想請問一下各位大大
1.
正常來講應該是要用, PHP 讀資料庫撈資料後,在傳到 AJAX 處理
還是說用 AJAX 讀資料庫撈資料後,就直接在 JavaScript 處理了呢?
如果是後面..那 PHP還 要做啥呢..這樣不就都交給前端就好了呢?!
2.
AJAX 的 url 應該是放只有資料的網頁,還是說可以放原本 index.php 的網頁呢..?!
AJAX 的 data 是資料嗎..? 我放了 PHP 的變數,可是讀得全部都是 HTML 所有程式碼,到底要怎麼取得變數或使用 PHP 的 function 呢...?
3.
現在我想要的是,讀資料庫撈資料後,由Jquery的mousedown事件,讓html的table表格的內容顯示資料,我應該怎麼做呢...?
4.
原本我是這樣,假設用 $abc 來存PHP讀資料庫撈的資料後,由AJAX取得PHP的變數,在用Jquery新增內容至Table,請問我這樣的想法對嗎...?!
JS 檔大概內容:
$.ajax({
url: 'index.php',
data: {$jsonarray},
datatype: 'json',
success: function(data){
console.log(data);
}
});
PHP 檔大概內容:
$data = new player($db);
$player = $data->getData();
$playerdata = array(
'p1' => array($player['rows'][0]['player_team'], $player['rows'][0]['player_name']),
'p2' => array($player['rows'][1]['player_team'], $player['rows'][1]['player_name']),
'p3' => array($player['rows'][2]['player_team'], $player['rows'][2]['player_name'])
);
$tempjson = json_encode($playerdata);
$jsonarray = json_decode($tempjson);
var_dump($jsonarray);
Ajax是讓網頁能異步建立一個http連線的請求(request),至於要連線的網頁是要存取伺服器端資料或者只是一張圖片都可以,Ajax成功或失敗後要做什麼處理就看需求囉。最基本的應用方式就如你所寫的,透過Ajax連線將伺服器端資料取回,再顯示於目前的頁面上。
$("button").click(function(){
$.ajax({url: "demo_test.php", success: function(data){
$("#div1").html(data);
}});
});
經常回去 jQuery API Documentation 看說明會有很幫助唷
AJAX叫做非同步資料交換
他需由js開始去從前端對後端(php)
後端的php再去跟資料庫請求資料
(不一定是php,任何語言基本上只要能抓資料庫也能夠取得http請求都行)
php取得資料後是使用「顯示」資料的方式產生資料型態的畫面
然後前端的js就會得到一個回應並取得資料
最後再從前端將資料重新處理到畫面上
url表示的是你要取得資料的php的位置
這當中你沒有提到的東西叫做json
我會希望你先去瞭解json這個格式
基本上他已經是一個網路交換資料的常用格式了
你可以去google "json"這個關鍵字,有很多詳細的說明
最主要的是,你傳出去的post請求資料會是json的格式
同樣的,在php端你也需要把資料轉成json字串格式然後傳回來
這樣js才能夠直接做處理
如果不這樣做倒不是不能處理 ,只是事情會變得很麻煩
一個簡單的ajax實現:(以你用jquery來說)
前端:
$.post(''get_data.php",{
'name':'bill',
},function(data){
alert(data.name);
},'json');
後端:
檔名:get_data.php
echo json_encode($_POST);
這就是一個簡單的request和response
你可以看alert()出來的是不是顯示bill
如果你能理解這樣一進一出
那抓資料再顯示對你來說應該就很簡單了