MW211 EXIT

devlog
jQueryUI/draggableの部分選択
2017年05月25日
jQueryUIの「draggable」は以下のように使用する。
┌──────────────────────────────────────┐
│<div id="draggable">コンテンツ</div>                                        │
├──────────────────────────────────────┤
│<script>                                                                    │
│$('#draggable').draggable();                                                │
│</script>                                                                   │
└──────────────────────────────────────┘

ただし、これだとドラッグする内容がすべてドラッグ用領域となってしまい
コピペとかができなくる。

そこで、Windowsのウインドウのように、タイトルバーのみドラッグ対象とする方法。
┌──────────────────────────────────────┐
│<div id="draggable">                                                        │
│<div id="header">タイトル</div>                                             │
│<div id="main">コンテンツ</div>                                             │
│</div>                                                                      │
├──────────────────────────────────────┤
│<script>                                                                    │
│$('#draggable').draggable({handle:'#header'});                              │
│</script>                                                                   │
└──────────────────────────────────────┘
「handle」オプションを使えばよい。
分類:jQuery
ライセンス
2017年05月24日
・jQurey(jquery.js)
  MITライセンスで、ソースコード上に著作権表示等があるので、
  そのままアップロードして使用するだけでよい
・jQureyUI(jquery-ui.js)
  MITライセンスで、ソースコード上に著作権表示等があるので、
  そのままアップロードして使用するだけでよい
分類:IT全般
PHP/文字列をXML化して出力する方法
2017年05月21日
普通に出力する場合。
┌──────────────────────────────────────┐
│$xml = new SimpleXMLElement('<xml></xml>');                                 │
│echo $xml->asXML();                                                         │
└──────────────────────────────────────┘

テキストエリアに出力する場合。
┌──────────────────────────────────────┐
│$xml = new SimpleXMLElement('<xml></xml>');                                 │
│echo '<textarea>' . $xml->asXML() . '<textarea>';                           │
└──────────────────────────────────────┘

サニタイズして出力する場合。
┌──────────────────────────────────────┐
│$xml = new SimpleXMLElement('<xml></xml>');                                 │
│echo '<pre>' . htmlspecialchars($xml->asXML()) . '</pre>';                  │
└──────────────────────────────────────┘

XMLとして出力する場合。
┌──────────────────────────────────────┐
│$xml = new SimpleXMLElement('<xml></xml>');                                 │
│header('Content-type:application/xml; charset=UTF-8');                      │
│echo $xml->asXML();                                                         │
└──────────────────────────────────────┘

完全にXML化する場合。
┌──────────────────────────────────────┐
│$xml = new SimpleXMLElement('<xml></xml>');                                 │
│$dom = new DOMDocument('1.0', 'UTF-8');                                     │
│$dom->formatOutput = TRUE;                                                  │
│$dom->loadXML($xml->asXML());                                               │
│echo $dom->saveXML();                                                       │
└──────────────────────────────────────┘
分類:PHP、XML
XML/要素と属性の違い
2017年05月17日
【要素(element)】
  ×データ量(文字数)が多くなる
    →できるだけ属性を使う

【属性(attribute)】
  ×入れ子ができない
    →要素へ移行する
  ×重複キーを持てない
    →要素へ移行する
  ×長文(改行なども)を値として持てない
    →要素へ移行する
  ×(一つの要素あたり)数に限りがある
    →要素でサブグループ化する
分類:XML
PHP/SimpleXMLでXMLファイル出力
2017年05月13日
┌──────────────────────────────────────┐
│header('Content-type:application/xml; charset=UTF-8');                      │
│echo $xml->asXML(ファイル名);                                               │
└──────────────────────────────────────┘
ファイル名(のパス)はWindows環境の場合、シフトJISで指定する必要あり。
分類:PHP
PHP/SimpleXML(2)((1)はないけど)
2017年05月12日
┌──────────────────────────────────────┐
│$xmldecl = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';       │
│$xmldata = <<<___XML___                                                     │
│<xml>                                                                       │
│  <data1>                                                                   │
│    <data2 id="abc">ABC</data2>                                             │
│  </data1>                                                                  │
│</xml>                                                                      │
│                                                                            │
│___XML___;                                                                  │
│$xml = new SimpleXMLElement($xmldecl . $xmldata);                           │
└──────────────────────────────────────┘
属性を取得する方法。
┌──────────────────────────────────────┐
│echo $xml->data1[0]->data2->attributes()['id'];                  //→「abc」│
└──────────────────────────────────────┘
分類:PHP
Excel/別インスタンスで起動
2017年05月11日
┌──────────────────────────────────────┐
│excel /x                                                                    │
└──────────────────────────────────────┘
分類:Excel
MSSQL/自動採番に0を入力
2017年05月10日
┌──────────────────────────────────────┐
│CREATE TABLE [表] (                                                         │
│    [連番]              [int] IDENTITY(1,1) NOT NULL,                       │
│    CONSTRAINT [PK_表] PRIMARY KEY CLUSTERED (                              │
│        [連番]              ASC                                             │
│    )                                                                       │
│);                                                                          │
└──────────────────────────────────────┘
上記のような、主キーが自動採番のレコードに、
後から「0」のレコードを挿入する方法。

以下のように、特殊な挿入を許可した上で行えばよい。もちろん終わったら元に戻す。
┌──────────────────────────────────────┐
│SET IDENTITY_INSERT [表] ON;                                                │
│INSERT INTO [表] ([連番]) VALUES (0);                                       │
│SET IDENTITY_INSERT [表] OFF;                                               │
└──────────────────────────────────────┘
ちなみに、その後に挿入した場合、「0」の次の「1」から
始まったりはしない(いつものように最大値の次の値から始まる)のでご安心を。
分類:MSSQL
PHP/SimpleXMLでXML文字列を操作
2017年05月01日
まず、以下のような感じで文字列を作成し、
SimpleXMLElementクラスのコンストラクタに代入する。
┌──────────────────────────────────────┐
│$xmldecl = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';       │
│$xmldata = <<<___XML___                                                     │
│<xml>                                                                       │
│  <data1>                                                                   │
│    <data2>ABC</data2>                                                      │
│  </data1>                                                                  │
│</xml>                                                                      │
│                                                                            │
│___XML___;                                                                  │
│$xml = new SimpleXMLElement($xmldecl . $xmldata);                           │
└──────────────────────────────────────┘
すると、インスタンス「$xml」にXML形式のデータが格納されるので
タグ名を用いたプロパティ名を駆使して、操作する。

まずは、個別に項目の値を参照する方法。
┌──────────────────────────────────────┐
│echo $xml->data1[0]->data2;                                      //→「ABC」│
└──────────────────────────────────────┘
プロパティを参照するだけ。

全ての内容をXML形式でWeb画面に表示する方法。
┌──────────────────────────────────────┐
│echo '<pre>';                                                               │
│echo htmlspecialchars($xml->asXML());                                       │
│echo '</pre>';                                                              │
└──────────────────────────────────────┘
「asXML()」メソッドで全出力。
これに加えて「htmlspecialchars()」でエスケープし「<pre>」タグで囲う。

XML形式として割り切って使用する(他と連動させたりしない)場合には
「header()」と組み合わせて、以下も可。
┌──────────────────────────────────────┐
│header('Content-type:application/xml; charset=UTF-8');                      │
│echo $xml->asXML();                                                         │
└──────────────────────────────────────┘

項目内容を書き替えるには、プロパティに値を代入すればよい。
┌──────────────────────────────────────┐
│$xml->data1[0]->data2 = 'XYZ';                                              │
│echo $xml->data1[0]->data2;                                      //→「XYZ」│
└──────────────────────────────────────┘
分類:PHP
前へ 1 次へ