$('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では全く削除されない。