$('iframe').contents().find('td#xEditingArea iframe').contents().find('body').html();
めちゃめちゃじゃないですか!
開発メモ,主に補足by子連れ親父プログラマー
$('iframe').contents().find('td#xEditingArea iframe').contents().find('body').html();
<a href="javascript:history.back()"><img src="images/B.gif" width="170" height="36" alt="戻る" /></a>こんなんになってたんだけども。
<input type="button" name="back" value="back" />こんな感じっすか。
$(':button[name=back]').click(function() { window.location = 'index.php'; });次、ボタンクリックで window.open サイズ指定も付けて。
$(':button[name=back]').click(function(e) { window.open('index.html','_blank', 'width=360, height=500, menubar=no, toolbar=no, scrollbars=no'); e.preventDefault(); return false; });最後、ただ単にサブミットする。ついでに hidden の値を Javascript で指定。
<form action="index.php" method="post"> <input type="hidden" name="key" value="" /> <input type="submit" /> </form>こんな感じで。
$(':submit').click(function() { $(':hidden[name=key]').val('123'); $('form').submit(); });あと、追記だけども、HTML側で指定したフォームの飛び先(action)とは全然別のアドレスに飛ばしたい時もあるよね。
<form action="index.php" method="post"> <input type="button" id="preview" value="preview" /> <input type="submit" /> </form>プレビューボタンを押したら、preview.phpに飛ばしたい、っていう場合、
$(':button#preview').click(function() { $('form').attr('action', 'preview.php'); $('form').attr('method', 'get'); $('form').submit(); });
CREATE TABLE users ( id int(11) NOT NULL auto_increment, name varchar(100), address varchar(255), zip varchar(7), PRIMARY KEY (id) )DEFAULT CHARSET=utf8;住所はaddressのカラムで、郵便番号はzipですが、今はzipには何も入っていません。
CREATE TABLE zips ( zkd_code VARCHAR(255), kyu_zip VARCHAR(255), zip VARCHAR(255), ken_yomi VARCHAR(255), siku_yomi VARCHAR(255), cyou_yomi VARCHAR(255), ken VARCHAR(255), siku VARCHAR(255), cyou VARCHAR(255), fg_a INT, fg_b INT, fg_c INT, fg_d INT, fg_e INT, fg_f INT );次に、上記日本郵便のサイトでダウンロードした郵便番号データを適当なファイル名で(ここではyubin.csv)、サーバーに保存して、MySQLのコンソール画面から、
mysql> LOAD DATA LOCAL INFILE "/home/myhome/yubin.csv" INTO TABLE zips FIELDS TERMINATED BY ',' ENCLOSED BY '"';と、やります。
+-------+--------------------------------------------------+ | id | address | +-------+--------------------------------------------------+ | 1 | 札幌市清田区美しが丘一条N丁目M-1 | +-------+--------------------------------------------------+というデータと、zipsテーブルの
+---------+--------------------+--------------------+ | zip | siku | cyou | +---------+--------------------+--------------------+ | 0040811 | 札幌市清田区 | 美しが丘一条 | | 0040813 | 札幌市清田区 | 美しが丘三条 | | 0040812 | 札幌市清田区 | 美しが丘二条 | | 0040815 | 札幌市清田区 | 美しが丘五条 | | 0040814 | 札幌市清田区 | 美しが丘四条 | +---------+--------------------+--------------------+というようなデータを見比べて、郵便番号を照合するプログラムを組めばよいわけです。
SELECT zip, siku, cyou FROM zips WHERE CONCAT(siku, cyou) = LEFT('札幌市清田区美しが丘一条N丁目M-1', 10)このクエリーはヒットしませんが、 LEFT の最後の数字を1ずつ増やして消していけば、いつかはヒットするはずです。
$query = "SELECT address, CHAR_LENGTH(address) as len FROM users"; $result = mysql_query($query); if ($result) { $n = mysql_num_rows($result); if ($n){ while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { for($i=$row['len'];$i>0;$i--){ // ここに郵便番号テーブルとの照合を入れる } } } }forループを使って、最初に数えた文字列長さから始めて1文字すつ削っていこうという作戦です。
$query2 = "SELECT zip FROM zips WHERE CONCAT(siku, cyou) = LEFT('$address', $i)"; $result2 = mysql_query($query2); if ($result2) { $n2 = mysql_num_rows($result2); if ($n2){ while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) { echo $row2['zip'] . "\t"; } break; } }breakを使って、マッチした時点で forループを抜けます。
ALTER TABLE zips ADD COLUMN sikucyou VARCHAR(52); UPDATE zips SET sikucyou=CONCAT(siku, cyou);最初に新しいカラムを追加して、UPDATE をかけています。
ALTER TABLE zips ADD INDEX (sikucyou);PHPソース内のSQLの方も修正します。
$query = "SELECT id, address FROM users"; $result = mysql_query($query); if ($result) { $n = mysql_num_rows($result); if ($n){ while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $address = mysql_real_escape_string($row['address']); $len = mb_strlen($row['address']); $zip = ''; for($i=$len;$i>0;$i--){ $query2 = "SELECT zip FROM zips WHERE sikucyou = LEFT('$address', $i)"; $result2 = mysql_query($query2); if ($result2) { $n2 = mysql_num_rows($result2); if ($n2){ while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) { $zip = $row2['zip']; } break; } } } $query3 = "UPDATE users SET zip='$zip' where id='{$row['id']}'"; $result3 = mysql_query($query3); } } }
郵便番号 渋谷区桜丘町これはヒットしません。
郵便番号 千代田区丸の内Google先生でも無理なんです。
member_id | point -----------+------- 4 | 2 4 | 2 4 | 3 4 | 3 4 | 3 4 | 1 4 | 3 4 | 2 8 | 2 8 | 0 4 | 1 8 | 3 4 | 6 8 | 0これをGROUP BY を使って合計を出すと、
SELECT member_id,SUM(point) AS sum FROM points GROUP BY member_id;
member_id | sum -----------+----- 4 | 43 8 | 7こんな結果になるわけですが、この結果表をさらに、合計が10個以上、とかそういう条件で絞り込みたい訳です。
SELECT member_id, SUM(point) AS sum FROM points WHERE sum > 10 GROUP BY member_id;とかやってみましたが、これは、
ERROR: column "sum" does not existになります。だめです。
SELECT member_id, SUM(point) AS sum FROM points GROUP BY member_id HAVING SUM(point) > 10;というように書きます。
member_id | sum -----------+----- 4 | 43
items = new Array("1", "2", "3", "4", "5", "6"); items.splice(1, 2); for(i = 0; i < items.length; i++){ alert(items[i]); }これの結果は、
("1", "4", "5", "6")じゃあこうすると、
items.splice(-1, 2);こうなる。
("1", "2", "3", "4", "5")どうもマイナスにすると、一番最後から数えるってだけのようです。
items.splice(-3, 3);こうすればいいと。これを
items.splice(-3);こう書くと、Firefoxやchoromeでは同じく3個削除で動くがIEでは全く削除されない。