Archives by date

You are browsing the site archives by date.

【MySQL】重複行を除いてリストを作成する。

DISTINCT文を用いる。

SELECT DISTINCT [列名], [列名], [列名], ... FROM [テーブル名] WHERE ... ORDER BY ... LIMIT ...

例。

SELECT DISTINCT category FROM items WHERE 1

※上記は重複無しでカテゴリーを全て取得するSQLの例

 

【PHP】array_unshift()の挙動まとめ。

自分用。

$ar = array('a' => 'hoge', 'b' => 'fuga', 'c' => 'piyo');
array_unshift($ar, 'test');
var_dump($ar);
↓
array(4) {
  [0]=>
  string(4) "test"
  ["a"]=>
  string(4) "hoge"
  ["b"]=>
  string(4) "fuga"
  ["c"]=>
  string(4) "piyo"
}


$ar = array('22' => 'hoge', '33' => 'fuga', '44' => 'piyo');
array_unshift($ar, 'test');
var_dump($ar);
↓
array(4) {
  [0]=>
  string(4) "test"
  [1]=>
  string(4) "hoge"
  [2]=>
  string(4) "fuga"
  [3]=>
  string(4) "piyo"
}

キーが文字列の場合情報はそのまま維持され、キーが数字の場合ゼロから振りなおされてしまう。
これは厳重注意。

 

【jQuery】Ajaxの通信を中断させる方法。

めも。

例えば下記のように、Ajaxのスタートボタンとストップボタンを用意したとして。

<input type="button" value="Start" class="js_start">
<input type="button" value="Stop" class="js_stop">

下記のように$.ajax()の結果を変数に格納しておくことで、.abort()による通信の中断が行えるようになる。

<script>
$(function(){
	var ajax;
	$('.js_start').click(function(){
		var url = '/api/url';
		ajax = $.ajax({
			url: url,
			type: 'POST'
		}).done(function(){
			alert('success');
		}).fail(function(){
			alert('error');
		});
	});
	$('.js_stop').click(function(){
		ajax.abort();
	})
});
</script>

これは便利。

 

【jQueryUI】DatePickerを実装する。

めも。

まずは下記の通り必要なファイルをヘッド内で読み込む。

<link rel="stylesheet" type="text/css" href="jquery-ui-1.10.3.custom.min.css" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

次に任意のインプット要素を配置。

<input type="text" class="datetime" name="date">

そしたら最後にスクリプトを実行。

$(function() {
	$('.datetime').datepicker();
});

datepicker()に様々なパラメーターを渡せるため容易にカスタマイズも可能。プロパティの詳細は下記公式リファレンスを参照されたし。

http://jqueryui.com/datepicker/