MySQL – 找出該資料在Table中是第幾筆(排行第幾)

範例:
<tableA>
id name
1 XXX
3 XXX
5 XXX
6 XXX
7 XXX <——算出編號7是第幾筆資料
 
select  1 + (select count(*) from member where member_idn < 7)  

from tableA limit 1
說明:

 資料表中必須有個

AUTO_INCREMENT 
 
我要找出編號 7 在資料表
tableA  中排第幾筆,

那就設定當條件小於7得有幾筆再加1即可。所以會得到第5筆。
 
 

[jQuery] 利用getJSON或ajax的方法,跨網域取得php資料的寫法

網頁:test_json.php =============================
(使用者端)

<script>
    $(function(){
//兩種方法都是同樣效果。getJSON 是 ajax 利用 jsonp 的簡化版


//寫法一
$.ajax({
url :    "http://www.wondershow.tw/test_json2.php?callback=?",
dataType :    "jsonp",
data :    {"A":"GOOD MORNING"},
error :    function (XMLHttpRequest, textStatus, errorThrown){alert('錯誤');},
success :    function (data){
//alert("成功"+data.message);
$.each(data,function(key, val){
$(".run").append(val.title+'夾帶參數是'+val.yousay+'<br>');
})
}
});


/*
//方法二
$.getJSON("http://www.wondershow.tw/test_json2.php?callback=?",
{
"A":"GOOD MORNING"
},
function(data) {
$.each(data,function(key, val){
$(".run").append(val.title+'夾帶參數是'+val.yousay+'<br>');
})
});
*/

})
</script>

<div class="run">
    
</div>
 網頁:test_json.php ============================= 
(伺服器端)

$data =     array(
"0"=>array(
"title" =>    "hello world",
"content"    =>    "Happy Birthday",
"yousay"    =>    $_GET['A']
),
"1"=>array(
"title" =>    "hello world2",
"content"    =>    "Happy Birthday2",
"yousay"    =>    $_GET['A']
),
);

$data = json_encode($data); //把多為陣列用JSON編碼, 到時接收端 jQ解碼

echo $_GET['callback'] . '(' . $data . ')';//輸出的格式 要這樣寫JQ才抓得到。注意要有括號

?>
 

PHP – 利用curl函式來達到API

說明:
執行test.php會取得test2.php的回傳值, 來達到api概念吧
 

 

 test.php
 
==================================================================================== 

<meta charset="utf-8">
<?
function curlfun($url,$postdataarray){
    /*
CURLOPT_POSTFIELDS參數即為POST的內容,而 http_build_query() 效果是將array併成 a=123&b=321 型式的字串,
POST內容會在header中標示以application/x-www-form-urlencoded型式傳送,如果不用字串而直接給array也可以,
傳送方式則會變成multipart/form-data,但是封包會變大,且可能不被某些Server接受,通常是傳送檔案時才用。
cURL有很多參數可以設置,詳細用法見PHP官網。

CURLOPT_RETURNTRANSFER=true 會傳回網頁回應, false 時只回傳成功與否

    */
    $ch = curl_init();
    $options    = array(
CURLOPT_URL =>    $url,
CURLOPT_HEADER =>    0,
CURLOPT_VERBOSE =>    0,
CURLOPT_RETURNTRANSFER    =>    true,
CURLOPT_USERAGENT =>    "", //"Mozilla/4.0 (compatible;)
CURLOPT_POST =>    true, //啟用post
CURLOPT_POSTFIELDS =>    $postdataarray
);
    
    curl_setopt_array($ch,$options) ; //把陣列放入設定
    $result = curl_exec($ch); //開始執行
    curl_close($ch);
    return $result;
    
    }
    
$data    = array(
"act" => "TEST",
"first" => "HELLOW",
"second"    => "WORD",
"third" => "中文字"
);

echo curlfun("http://www.wondershow.tw/test2.php",$data);

?>
==================================================================================== 

 

test2.php
 
==================================================================================== 

<?
if ($_POST['act'] == "TEST"){
    
    echo "success";
    die;
    }
echo "error";

?>====================================================================================  

PHP – json_encode 與 json_decode , 取出物件或陣列的方式


<?
//class用法
    class a{
public $first  = "chang";
public $second = array(second_a => "HAPPY", second_b => "NEW YEAR" );
public $third  = array();

//一旦建立class時,把class b 塞進 $third 陣列, 但會在陣列$third[0]底下…. 當json_decode會很麻煩
function __construct(){
$third = array_push($this->third,new b);
}
}
    class b {
public $third_a = "HELLOW WORD";
public $third_b = "WELLOW TAIWAN";
}
//編碼    
    $result_en = json_encode(new a);

//用物件取出
    $result = json_decode($result_en);
    print_r($result->first); // 輸出chang
    echo "<br>";
    print_r($result->second->second_a); // 輸出 HAPPY
    echo "<br>";

//要取出third_a還是用json_decode返回陣列取出來吧
    $result = json_decode($result_en,true);
    print_r($result['third'][0]['third_a']); // 輸出 HELLOW WORD
    echo "<br>";

echo "——————-<br>";

//普通陣列用法
    $array  = array(first => "a", second => array(second_a => "GOOD MORNING", second_b => "GOOD NIGHT" ));
    $array  = json_encode($array);
//解碼
    $result = json_decode($array);    
    print_r($result->first); //輸出a
    echo "<br>";
    print_r($result->second->second_a); //輸出GOOD MORNING
    echo "<br>";

//解碼(返回陣列)
    $result = json_decode($array,true);    
    print_r($result['second']['second_b']); //輸出GOOD NIGHT

?>

jQuery 重製表單(reset)的方法

今天copy之前的項目的部分代碼到新項目時,遇到了$("#..Form").get(0).reset();這行代碼,我一開始以為這是多次一舉的,既然已經用ID選擇器了,得到的肯定是一個Form了,而不是包含其他Form的數組了。所以直接寫成$("#..Form").reset()不就完事了嘛。但我錯了,我居然忽略了兩點: 
1.ID選擇器的返回值類型是Array<Element>,也就是說也是數組形式的,雖然現在xhtml提倡的標準中,id是提倡唯一的,但jquery肯定是考慮到了兼容。 
2.reset()是js中的方法,而我一直在把它當作jquery的方法使用。這裡有一個注意:通過jquery中get(0)與eq(0)的返回值是不一樣的,前者返回值是Element後者是jQuery,所以要先get(0)再reset(),如果先eq (0)再reset()是報錯的。 

 ————————————————-
get() 跟 eq()不同

 get()返回如同陣列的html, 例如$("form").get(0)代表form原素的第一個form

eq()返回的是jq元素