検索結果
DB
- 全てのカテゴリ
- 全ての質問
- PHPで携帯の二重投稿防止の作り方
ども初めまして、匠と申します。よろしくお願いします。 質問は記述の仕方です。(使う関数や考え方) 9/1までに、携帯でも二重投稿防止の投票ホームを作りたいと思っています。 仕様は ・一人一日一回まで投票できる。 これのみです。 PCのほうは、クッキーでそのような仕組みを作ったのですが、携帯は携帯個別認識番号なるものを抜き出して、DBに登録しようと考えています。 以下はプログラムです。if文の条件部分がどのように書いたらいいのか迷っています。 //DB登録されている個別認識番号と一致するか if(送られてきた認識番号がDBに登録されていなかったら){ $sql = "insert into block (`ip`, `time`) values('$ip', '$now_time')"; // データを取り出す $sql = "SELECT * FROM touhyou "; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); while( $rec = mysql_fetch_array( $res, MYSQL_ASSOC ) ){ $r_a=$rec['a']; } //更新 switch ($post_vote) { case "aに投票する": $r_a= $r_a+1; $sql = "update touhyou set a= $r_a"; mysql_query($sql, $conn); break; default :echo"dame"; } exit; } else{ if(現在の時刻と前回訪問から24時間過ぎているを調べる){ 認識番号はそのままで時間ののところだけ更新; 投票; } else{echo "一日一回しか投票できません"; } } 長々と読んでいただきありがとうございます。 是非、よろしくお願いいたします。
- ストアドでVB.NetのDataGridにDataTime型のデータの時間だけを返したいです。
DBはMSDE。 肝心のフィールドはTimeでDateTime型で、以下のようなデータがあります。 Time 5:00:00PM 5:30:00AM . . これをストアドで返します。普通に SELECT Time ... 以下略。 クライアント側、sqlCommand -> パラメタ の設定 -> sqlDataAdapter -> DataSetにエントリを返し -> DataGrid1.DataSource = DataSet.Tables(0) これで、実行すると、返ってくる値は すべて 30/12/1899 となります。時間の部分は何も出ません。これはDB側に、日にちを入れてないので出てくるデフォルト値と思われます。 次に、前の SELECT文に CAST(sql_variant、Time) を加えると、30/12/1899 5:00:00PM と出ますが、sql_variant型なので、SABSTRINGで切れません、上のCAST文にさらにCONVERT(Varchar(30),,)をかぶせると、30/12/1899 に戻ってしまいます。 今まで試した方法は、 CONVERT(Varchar(30),Time,108) CONVERT(Varchar(30),Time,8) CONVERT(char(30),Time,108) CONVERT(Varchar(30),Time) EXTRACT (Time.....) 等などあらゆる方法(データ型のバリエーションを含む)を試みましたが、返されのは30/12/1899ばかりです。 DateTimeはDB側で比較のクエリに使用するのでをVCharに変えることはできません、Timeのデータにダミーの日にちを付け加えたくもありません。 なんとか時間だけを取る方法をご教授ください。お願いします。
- ベストアンサー
- SQL Server
- vbotoko
- 回答数4
- PHPとMySQLの連携について教えてください
PHPからMySQLを使いたくて下記の環境を構築しました。 それぞれは正常に動作していますが、phpとmysqlの連携ができません。 PHP Version 4.3.10 MySQL Version 4.1.15 Apache 2.0.52 WindowsXP Home Edition ホスト名 localhost ユーザー名 root パスワード adminで firsttestというDBにテーブルを作成しました(DOSプロンプトから)。 そして次のコードを記述して実行すると下記のエラーが表示させます。 $conn=mysql_connect("localhost","root","admin"); // 5行目 mysql_select_db("firsttest",$conn); // 6行目 $res=mysql_query("show tables",$conn); // 7行目 --------- エラー画面----------- Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 5 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 6 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 7 ------------------------------ MySQLを利用しないPHPプログラムは正常に動作しています。 またMySQLもDOSプロンプトからはテーブル等正常に作成できます。 初心者で先に進めずとても困っています。 解決策がありましたら教えてください。 宜しくお願いします。
- Pythonの設定方法(text_factory)
あるシステムを実行すると、下記エラーが表示されました。 --------------- Traceback (most recent call last): File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\api.py", line 446, in send_error data, 'text/html') File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\chrome.py", line 830, in render_template message = req.session.pop('chrome.%s.%d' % (type_, i)) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\api.py", line 216, in __getattr__ value = self.callbacks[name](self) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\main.py", line 306, in _get_session return Session(self.env, req) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\session.py", line 223, in __init__ self.promote_session(sid) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\session.py", line 282, in promote_session @self.env.with_transaction() File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\api.py", line 77, in transaction_wrapper fn(ldb) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\session.py", line 287, in update_session_id """, (sid, self.req.authname)) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\util.py", line 65, in execute return self.cursor.execute(sql_escape_percent(sql), args) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\sqlite_backend.py", line 78, in execute result = PyFormatCursor.execute(self, *args) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\sqlite_backend.py", line 56, in execute args or []) File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\sqlite_backend.py", line 48, in _rollback_on_error return function(self, *args, **kwargs) ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings. ----------------- 調査してみたら、Pythonで、 text_factory = str を設定したら良いとわかりましたが、設定方法が わかりません。 対話モードで設定したら良いのでしょうか? Pythonに関しては全然わからないのでどのように設定したら良いかがわかりません。 教えてください。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- poy-siam
- 回答数2
- PHPでの条件式
PHPでの条件式 <環境> PHP:4.3.8 MySQL:4.0.16 MySQLからデータを読み出して、ある条件によって 表示されるものを変えるという作業をしているのですが 思ったように表示出来ません。 下記のコードで”else”の場合の時に「そのIDのデータは登録されていません。」 という文字列を表示させたいのですが、何も表示されずに 終わってしまいます。 希望の動作は、フォームでDBに登録されていないID番号(log_id)を入力した時に 「そのIDのデータは登録されていません。」という文字列を表示させたいのですが どのようにすれば解決に導けるのでしょうか。 どなたかご教授お願いいたします。 ■>>>test.php<<<■ <html> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <TITLE>DBの画像表示テスト</TITLE> </HEAD> <body> <FORM name="display" method="POST" action="test.php"> 画像ファイルのIDを入力してください<BR> <INPUT type="text" name="log_id"><BR> <INPUT type="submit" name="submit" value="送 信"> <INPUT type="reset" name="reset" value="リセット"> </FORM> <br> <?php include('./inc_php/db.php'); //フォームで入力された「log_id」番号にマッチするデータを呼び出す $query = "select * from image where log_id = '".$log_id."'"; $result = mysql_query($query); //SQLを実行する while( $row = mysql_fetch_array($result) ) { //フォーマットは" $variable = $row["NameOfMysqlCoulm"]" //これらを変更して、mysqlテーブルコラムを合わせてください。 $log_id = $row["log_id"]; //No $F1 = $row["F1"]; //F1の答え $F2 = $row["F2"]; //F2の答え $F3 = $row["F3"]; //F3の答え $F4oa = $row["F4oa"]; //F4oaの答え $img_data = $row["img_data"]; //データが格納されているアドレス情報 $end_flag = $row["end_flag"]; $day_date_end = $row["day_date_end"]; $log_id = addslashes($log_id); //入力文字のエスケープ if( $img_data != NULL ){ //"$img_data"(アドレス情報)がNULLで無いとき ?> <table border="1px"> <tr> <td width="100px">log_id(No情報)</td> <td width="300px"><b><?php echo $log_id ?></b></td> <td width="350px" rowspan="6"> <a href="<?php echo $img_data ?>" target="_blank"><img src="<?php echo $img_data ?>" width="300"></a> </td> </tr> </table> <?php }elseif( $img_data == NULL ){ //"$img_data"(アドレス情報)がNULLのとき ?> <table border="1px"> <tr> <td width="100px">log_id(No情報)</td> <td width="300px"><b><?php echo $log_id ?></b></td> <td width="350px" rowspan="6"> <b>このIDの画像データは登録されていません。</b> </td> </tr> </table> <?php }else{ ?> <p><b>そのIDのデータは登録されていません。</b></p> <?php } } mysql_close($db); ?> <br> </body> </html>
- PHPとPostgreSQLを使用した勤怠管理システム
現在、PHPとPostgreSQLを使用して勤怠管理システムを 作成しているのですが、解らない事があるので質問させて下さい。 この手の事で色々と質問しているのですが、ツギハギだらけでDBにも 負荷をかけてしまうような作りになってしまったので 一から作り直しているところです。 ご教授の程、よろしくお願いします。 1)今月15日から来月14日までの曜日つき日付を取得する 2)労働時間を入力してチェックボックスを押せば、日付と労働時間がDBに登録される 3)チェックを押したとき、DBに該当データがあれば、INSERT。 4)チェックを押したとき、DBに該当データがなければ、UPDATE という処理を行いと思います。 以下に以前のコードを記載します。 $weekday = array("日","月","火","水","木","金","土"); //曜日の配列作成 $now = time(); // UNIXタイムスタンプを取得 $year = date('Y', $now); // 年を指定された書式で書式化する $month = date('m', $now); // 月を指定された書式で書式化する $day = date('d', $now); // 日を指定された書式で書式化する // 現在の日付が15日未満だったら、月をマイナスする if($day < MONTH_HARF){ $month--; } // 指定した月の日数を取得 $numOfDays = date('t', mktime(0, 0, 0, $month, 1, $year)); // 日付が指定した月の日数以下ならば for($d = 0; $d < $numOfDays; $d++){ // $dateに15日から末日+14日までの値をyyyy年mm月dd日の形で代入 $date = date("Y年m月d日", mktime(0, 0, 0, $month, 15+$d, $year)); // $wに0~6までの数字に対応した曜日を代入 $w = date("w", mktime(0, 0, 0, $month, $d+1, $year)); // $ymddateに15日から末日+14日までの値をyyyymmdの形で代入 $ymddate = date("Ymd", mktime(0, 0, 0, $month, 15+$d, $year)); //1行の定義:日付(曜日) $line = $weekday[$w]; // 読み込まれた休日と表示されている日付が同じならば、$wに0を代入(日曜日) if($holiday_plasticOperation == $date){ $w = 0; } switch($w){ case 0: //日曜日の文字色 $style = "color:#C30;"; break; case 6: //土曜日の文字色 $style = "color:#03C;"; break; default: //月~金曜日の文字色 $style = "color:#333;"; } echo "<TD WIDTH=100>$date</TD><TD title='$yy'><span style=.$style.>$line</span></TD>"; echo "<TD><INPUT TYPE='text' NAME='work_time[$ymddate]' VALUE='$work_Time' TABINDEX=1 SIZE='7' STYLE='ime-mode: inactive;'></TD>"; echo "<TD><INPUT TYPE='CHECKBOX' NAME='work_check[]' VALUE='$ymddate' TABINDEX=2></TD>"; } どうか、ご教授の程よろしくお願いします。
- 連動プルダウンについてです。
こんばんは。プログラム初心者です。 今、PHPとDBを使用したプログラムを組んでいます。 PHPはsmartyを使用してます。 そこで画像投稿画面を作成していまして、 DBと連動したプルダウンを作成したいのですが、 全然作れなくて困っています。 やりたいことはHTML側で元々記述してあるセレクトした値を飛ばして DB接続し、その値をそのままSQLに組み込んで 紐づいたデータをそのままプルダウンで表示させたいです。 こんな感じです↓ http://jsajax.com/NestedDropDown2Article686.aspx phpだけだとリロードしたりすることになるので、 JavaScriptを使用すると思いここに質問させていただいてます。 恐らく、JavaScriptでHTMLのvalue(値)を取得し、 別のPHP(DB接続とSQLの記述をしたもの)に値を渡して、 そこから元のPHPに戻るといったことをやればいいのでは… と思っていまして、接続、SQL用の別PHPは作成しました。 (非同期通信って云うんですかね) その際、2次元配列(配列の中は連想配列)で取得していて、 valueはその内の1つ、実際テンプレート側に 表示する文字は別の1つを表示させたいです。 SQLを流す側のPHPで配列は 【0】 [zip] [town] 【1】 [zip] [town] … といった感じの二次元配列を取ってます。 それを <option value="{$zip}">{$town}</option> みたいな形で取れた分、プルダウン作成したいです。 <option value="">選択してください</option> のプルダウン初期表示も欲しいです。 色々調べてみたんですが、 JavaScriptが難しくてhtmlの値すら取ることができず、 全然できません。どのように記述したらよろしいでしょうか? 他で使用しているため、j-queryは入れてあります。 ご教授のほど是非よろしくお願いします。
- ベストアンサー
- JavaScript
- sscommon
- 回答数2
- JavaMail特殊文字付本文が文字化けで困ってい
現在JavaMail(Ver1.4)+JAVA 7を使用して、あるメール配信システムを 構築しています。仕様上特殊文字を使用しなければならないので、 受信メールに特殊文字付本文が文字化けで困っています JavaMailのバッチがIBMのUNIX系AIXサーバ(文字コードがCP943C) に置いて、起動する メール本文データがIBMのDB2(文字コードがCP943C)から取得し、 Stringのhonbun_DB変数にいれる。 メール送信の本文が String honbun = new String(honbun_DB.getBytes("ISO-2022-JP"),"ISO-2022-JP") msg.setText(honbun,"ISO-2022-JP"); メールのヘッダーが msg.setHeader("Content-Type", "text/plain; charset="+"ISO-2022-JP"); msg.setHeader("Content-Transfer-Encoding", "7bit"); 問題点: getBytesでISO-2022-JP範囲外文字(いわゆる機種依存文字)すべて?に 置き返されます。 送信メールに、(1)(株)といった機種依存文字、NEC拡張外字が入っている 場合、文字が化けます。 ネットで得た対策方法について、以下方法が試しました。 対策1: Javaの起動オプション-Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP付ける こちらのオプションがoracle者のJVMの有効で、現在のシステムがIBMのJVMを使用して いるので、効かないです。 対策2: 本文がshift-jisにする手もありますが、APPLE社のMAC、iphone端末で、同様に 機種依存文字が化けます。 対策3: String honbun = new String(honbun_DB.getBytes("ISO-2022-JP"),"ISO-2022-JP") の代わりに、getBytes()使用せずに、独自のCP943Cの文字コードからISO-2022-JP の文字コードに変換するロジックを組むという提案(機種依存文字でも、getBytes()みたいの ?に置き換えではなく、JIS範囲コードに変換)もあった。品質の懸念があるため、採用難しいところ。 上記対策1,2、3以外の方法があれば、教えていただけると助かります。 例えば対策3の機種依存文字か、ISO-2022-JP範囲内文字か、すべてJISコードに変換できる ライブラリなど 長文となって申し訳ありません。
- 締切済み
- SE・インフラ・Webエンジニア
- xiaoqiang_ch
- 回答数1
- DNS 名前解決について
現在DNSの勉強の為、2台のPCをサーバとクライアントとして 設定を行っています。 参考書等調べながらやっていますが、うまくいきません。 状況: DNSの設定を行いサーバ本体でnslookupやdigで確認すると正引き、 逆引き共にIPアドレス、ホスト名を返してきます。 そこで次にクライアント側でdigを行うと下記を返してきて、うまくいきません。 ;; connection timed out ; no servers could be reached Q.クライアントのPCより名前解決できるようにしたいのですが、 ご参考意見がございましたら教えて頂ければと思い質問致しま した。 サーバ側 OS Fedora Core5 プライベートIPアドレス 192.168.1.2 ホスト名 linux.ittest.com DNSサーバ BIND ※DHCPサーバも稼動 クライアント側 Debian 3.1 sarge プライベートIPアドレス 192.168.1.10 DHCPでIP取得 クライアント側の「/etc/resolv.conf」は下記設定としてます。 search ittest.com(ドメイン名) nameserver 192.168.1.2(DNSサーバーIPアドレス) またDNSの「/etc/named.conf」は既存のファイルに下記を加えました。 zone "ittest.com" IN{ type master; file "ittest.com.db"; allow-update { none; }; }; zone "1.168.192.in-addr.arpa" IN { type master; file "1.168.192.in-addr.arpa.db"; allow-update{ none; }; }; ゾーンファイルは下記を作成しました。 /var/named/ittest.com.db作成 $TTL 86400 ittest.com. IN SOA linux.itteste.com. root.ittest.com. ( 2007103100 ;Serial 7200 ;Refresh 3600 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS linux.ittest.com IN MX 10 linux linux IN A 192.168.1.2 IN MX 10 linux www IN CNAME linux ------------------------------------------- /var/named/1.168.192.in-addr.arpa.db作成 $TTL 86400 1.168.192.in-addr.arpa. IN SOA linux.ittest.com. root.ittest.com. ( 2007103100 ;Serial 7200 ;Refresh 3600 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS linux.ittest.com 2 IN PTR linux.ittest.com ※PINGは通っています。 長くなりまた質問内容が的確ではないかも知れませんが、 アドバイスの方頂けたらと思います。
- 水栓こまパッキンの種類について
はじめまして 風呂場の蛇口が、ハンドルをきつく閉めないと先から水がぽたぽたとたれる症状が出て困っています。 色々調べてみたところ、水栓コマのパッキンが痛んでいるためのようでその交換をしてみようと思いました。 そこで、しらべてみましたが解らないことがありましたので一つ質問させてください。 当方の水栓こまはパッキンをビスで留めるタイプでした。 しかし、一般に普及しているものは六角でとめるタイプのもののようで、近所のホームセンターを何件か回ってみましたがビス止めタイプのものは販売しておりませんでした。 この場合、これらの部品に互換性はないでしょうか? メーカーのホームページを見るとビス止め用のものと六角でとめるものは区別されているようでしたので、互換性はないのかと思ったのですが商品を取り寄せてもらうとなると手間がかかってしまうため、その前にと質問させていただきました。 ご回答のほどお願いします。 以下、二種類のパッキンの詳細です http://macdpg.dpg.co.jp/kvk/FMpro?-DB=kvk.fmj&format=data.htm&FMPro?-db=kvk.fmj&-format=data.htm&-lay=search&-sortfield=syouj&-sortorder=custom%3Dsyouj&-sortfield=hin&daij=%5b%90%85%90%f0%95%94%95%69%5d&syouj=%3d%5b%82%b1%82%dc%5d&%8d%58%90%56%92%86=%5bOK%5d&-max=12&-recid=33108&-find=&-Script=count http://macdpg.dpg.co.jp/kvk/FMpro?-DB=kvk.fmj&format=data.htm&FMPro?-db=kvk.fmj&-format=data.htm&-lay=search&-sortfield=syouj&-sortorder=custom%3Dsyouj&-sortfield=hin&daij=%5b%90%85%90%f0%95%94%95%69%5d&syouj=%5b%82%b1%82%dc%5d&%8d%58%90%56%92%86=%5bOK%5d&-max=12&-recid=33107&-find=&-Script=count
- PHPでのMYSQL操作について教えてください。
MYSQLの中のデータをPHPで一覧にして表示し、フォームの内容を変更してから変更ボタンを押すと変更を反映した内容が一覧になって表示されるようにしたいのですが、うまくいきません。 コードは以下のとおりです。 <?php //接続設定 $sv="localhost"; $dbname="****"; $user="****"; $pass="****"; //文字コード $enc_disp="shift-jis"; $enc_db="shift-jis"; //データの文字コードを変更する function cnv_enc($string, $to, $from) { //文字コード変換 $det_enc=mb_detect_encoding($string, $from . ", " . $to); if ($det_enc and $det_enc != $to) { return mb_convert_encoding($string, $to, $det_enc); } else{ return $string; } } //データをSQL用に変換 function cnv_sqlstr($string) { if (get_magic_quotes_gpc()) { $string = stripslashes($string); } $string = htmlspecialchars($string); $string = mysql_real_escape_string($string); return $string; } //データベース接続 $conn=mysql_connect($sv,$user,$pass) or die("接続エラー"); mysql_select_db($dbname) or die ("接続エラー"); //編集するデータを取得する if (count($_POST) >0) { $number=$_POST["number"]; $name=$_POST["name"]; //データが送信された時にはデータを変更する if (strlen($number) and strlen($name)) { //データを変更する $sql = "UPDATE customer SET number = ".cnv_sqlstr($number).", name = '".cnv_sqlstr(cnv_enc($name, $enc_db, $enc_disp))."', WHERE (number = ".cnv_sqlstr($number).");"; mysql_query($sql, $conn) or die("データ変更エラー"); } } //データを取り出す $sql = "SELECT number,name FROM テーブル名 ORDER BY number ;"; $res = mysql_query($sql, $conn) or die ("データ抽出エラー"); //取りだしたデータを表示する echo "<table border =\"1\">"; echo "<tr>"; echo "<td> </td>"; echo "<td>名前</td>"; echo "</tr>"; while ($row =mysql_fetch_array($res, MYSQL_ASSOC)) { echo "<form method=\"POST\" action=\"".$SERVER["PHP_SELF"]."\">"; echo "<tr>"; echo "<td><input type=\"submit\" value=\"変更\"></td>"; echo "<input type=\"hidden\" value=\"".$row["number"]."\" name=\"number\">"; echo "<td><input type=\"text\" name=\"name\" value=\"".cnv_enc($row["name"], $enc_disp, $enc_db) . "\"></td>"; echo"</tr>"; echo"</form>"; } echo"</table>"; //接続を解除する mysql_close($conn); ?> 現在は内容を変更して変更ボタンを押すと、「変更エラー」が表示される状態です。 何が原因かわからず行き詰っています。 よろしくお願いします。
- ベストアンサー
- MySQL
- katsubonbon
- 回答数1
- WebDatabaseのlistから選択項目表示
HTML5 Web Database でlistから選択した項目を詳細表示したい。詳細一覧detail_b()押下した際、listで選ばれているレコード内容を表示したい。色々試しているのですが・・・どこがおかしいかわかりません。 function load() で list.options[list.options.length] = new Option(row.val2, row.val, row.key1); 項目表示した場合、 function detail_b() で どのようなSELECT文を書けば listで選択された行を指定できるのですか? <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript"> var db = openDatabase("my_sample3", "", "Sample for my3", 1024*1024); db.transaction(function(tx) { tx.executeSql("create table if not exists storage (key1, val, val2)"); }); function load() { db.transaction(function(tx) { tx.executeSql("select * from storage", [], function(tx, rs) { var list = document.getElementById("list"); list.innerHTML = ""; var rows = rs.rows; for (var i = 0, n = rows.length; i < n; i++) { var row = rows.item(i); list.options[list.options.length] = new Option(row.val2, row.val, row.key1); } }); }); } function detail_b() { var list = document.getElementById("list"); if (list.selectedIndex < 0) { return; } var selected = list.options[list.selectedIndex].value; db.transaction(function(tx) { tx.executeSql("select * from storage where key1 = ?", [selected], function(tx, rs) { var rows = rs.rows; var row = rows.item(0); detail.innerHTML = ""; detail.options[detail.options.length] = new Option(row.val2, row.val, row.key1); }); }); } function remove() { 省略 } function add() { 省略 } </script> </head> <body onload="load()"> <h1></h1> <table border="0"> <tbody> <tr> <td colspan="2"><select id="list" size="5" style="width: 200px"></select></td> <td><button onclick="detail_b()">詳細一覧</button><BR><button onclick="remove()">削除</button></td> <td rowspan="4"><select id="detail" size="5" style="width: 400px"></select></td> </tr> <tr> <td><font face="Times New Roman">キー:</font></td> <td><input type="text" id="key1"></td> <td></td> </tr> <tr> <td><font face="Times New Roman">値:</font></td> <td><input type="text" id="value"></td> <td></td> <td></td> </tr> <tr> <td><font face="Times New Roman">値2:</font></td> <td><input type="text" id="value2"></td> <td><button onclick="add()">追加</button></td> </tr> </tbody> </table> </body> </htm>
- ベストアンサー
- HTML
- take--8131
- 回答数3
- 日付によるデータ抽出について
日付によるデータ抽出について 環境: ACCESS2000 状況: メインフォーム(テキスト期間A、テキスト期間B、テキスト品番、検索ボタン) サブフォーム(データシート) 管理テーブル( 品番 / レンタル日 / 返却日) ※管理テーブルは他テーブルのコピー用 やりたい事: 簡潔にいうと期間と品番による抽出。 但し、テキスト期間Bが空白の場合、テキスト期間A以降のデータ抽出。 テキスト期間Aが空白の場合、テキスト期間B以前のデータ抽出。 さらに、テキスト品番が空白の場合、期間のみでの抽出。 コード: Private Sub 検索ボタン_Click() Dim db As DAO.Database Set db = CurrentDb db.Execute "DELETE * FROM 管理テーブル" db.Execute "INSERT INTO 管理テーブル SELECT * FROM 他テーブル" Dim 抽出条件 As String If IsNull(Me!テキスト期間A)=False And IsNull(Me!テキスト期間B)=True And IsNull(Me!テキスト品番)= True Then 抽出条件 = "[レンタル日] <= '" & Me!テキスト期間A & "'" End If If IsNull(Me!テキスト期間A)=True And IsNull(Me!テキスト期間B)=False And IsNull(Me!テキスト品番)= True Then 抽出条件 = "[レンタル日] >= '" & Me!テキスト期間B & "'" End If If IsNull(Me!テキスト期間A)=False And IsNull(Me!テキスト期間B)=False And IsNull(Me!テキスト品番)= True Then 抽出条件 = "[品番] <= '" & Me!テキスト品番 & "'" End If If IsNull(Me!テキスト期間A)=False And IsNull(Me!テキスト期間B)=True And IsNull(Me!テキスト品番)= False Then 抽出条件 = "[レンタル日] >= '" & Me!テキスト期間A & "'" And "[品番]='" & Me!テキスト品番 & "'" End If If IsNull(Me!テキスト期間A)=False And IsNull(Me!テキスト期間B)=False And IsNull(Me!テキスト品番)= False Then 抽出条件 = "[レンタル日] Between " $ Me!テキスト期間A & " & Me!テキスト期間B And "[品番] = '" & Me!テキスト品番 & "'" End If Me!サブフォーム.Form.Filter = 抽出条件 ← 実行時エラー2465 指定した式で参照されている'サブフォーム'フィールドが見つかりません。 Me!サブフォーム.Form.FilterOn = True End Sub 上記エラーが出てしまうのですが、まだまだ未熟で どこが悪いかわからなくて困っております。 間違っていたりと上手くないコードだとは思いますが ご教授の程宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- taho1999
- 回答数5
- MPEGファイルを修復
MPEG2ファイルの修復ソフトを探しています。 BUFFALOのTVキャプチャユニットに付属のPCasTVというソフトでTVキャプチャしてTMPGEncExpressでMPEG4AVCに再エンコード(CMカット等の切り出し編集含む)して保存してます。 そのPCasTVの吐き出すMPEG2ファイルが結構な確率で編集できません。 今日キャプチャした動画は1時間なのに再生時間32秒となっています 【MMname2での調査結果】 MMname2 v2.5.4 2007/01/07版 (DB 20070711) - Windows XP Service Pack 3 (5.1.2600) ■基本情報 ファイル:おもいッきりDON! 1025_03311024.MPG 形式:MPEG2/System-PS / サイズ:2,894,723,072 (2.69 GB) / 再生時間:32s ファイル整合性: 1)PROGRAM_END_CODE(0x000001B9)がありません ■映像情報 (ストリーム数 1) 1)コーデック:MPEG2 / Code:MPEG2 / 略号: / 720x480 8200Kbps 29.97fps ■音声情報 (ストリーム数 1) 1)コーデック:MPEG1-Layer2 / Code:MPEG1_Layer2 / 略号: / 48KHz 256Kbps Stereo ■字幕情報 (ストリーム数 0) ■コメント情報 (情報数 0) ■DirectShow情報 スプリッタ:Ulead DVD Parser E06D8022-DB46-11CF-B4D1-00805F6CBBEA MEDIASUBTYPE_MPEG2_PROGRAM 映像デコーダ:Ulead DVD Video decoder 2 E06D8026-DB46-11CF-B4D1-00805F6CBBEA MEDIASUBTYPE_MPEG2_VIDEO 音声デコーダ:ffdshow Audio Decoder E06D802B-DB46-11CF-B4D1-00805F6CBBEA MEDIASUBTYPE_MPEG2_AUDIO ステータス: TMPGEncExpressで読み込むと32秒のところまでしか編集できません。 しかし、GOMPlayerで再生すると(総再生時間は32秒と表示されますが)1時間分再生できます。 おそらく動画データ自体は1時間分存在するのに管理データに32秒と書き込まれてしまっていると思われます。 MPEG2ファイルの管理部を編集してデータを修復したいのですが、そういうことが可能なフリーソフトは無いでしょうか? よろしくお願いします。
- ベストアンサー
- 画像・動画・音楽編集
- spitfiremk9
- 回答数1
- Linuxシェルでの大量データ投入スクリプト
Linuxシェルでの大量データ投入スクリプト パフォーマンステスト用の大量(数千万件単位)のデータを DBに投入したいと思っています。 これをLinuxシェルで作成しようと思っています。 今まではsqlplus(あ、DBはoracleです)でログインしてから 複数のSQL文をベタベタ列挙したテキストファイルを読み込んで実行したり シェルの中で1回ずつコネクションを作成して処理を行なう というどちらかの方法しか行なったことがありませんでした。 あと、PLSQLで行なう方法もやったことはありますが、今回は 勉強の意味で、Linuxシェルのみを使用して行ないたいと思っています。 今回は、以下の条件・方針で行ないたいと思っています。とりあえず。 ・すべてのSQL文を記述するのではなく、レコードごとに変化する IDの部分だけをシェルで埋め込む方法にしたい ・コネクションは何度も接続しなおすのではなく、まとめて1回で行ないたい ・ある程度の件数ごと(実質的には500件くらい)にコミットを行ないたい ・とりあえずLinuxシェルでやってみたい ・とりあえずストアドなしでやりたい 途中まで以下のソースを作成しました。 あとはechoの部分を書き換える感じなのですが、 コネクション管理の方法がわからずつまづいています。 まずは、Linuxシェル内でのコネクション管理をすることが出来るのかどうかを 教えてください。もしできるのであればその方法等を教えてください。 出来れば具体的な記述を下記シェルに埋め込む形での解説をお願いしたいです。 よろしくお願いします。 #!/bin/sh declare -i I=10 echo 【DBコネクション取得】 until [ ${I} -eq 0 ] do echo 【ID部分を埋め込んでINSERT文作成】 echo 【INSERT文実行】 if [ `expr ${I} % 3` -eq 0 ]; then echo 【commit文】 fi I=${I}-1 done echo 【commit文】 echo 【DBコネクション切断】
- ドイツ ハイデルベルク中央駅について質問です。
ドイツ ハイデルベルク中央駅についてのマニアックな質問です。 ハイデルベルクの駅構内の見取り図を、旅行の思い出として思い出そうとしているのですが、、 どうも記憶が曖昧な部分があります。 ハイデルベルク中央駅は2階建て構造だったと思うのですが、2階へ進む階段がどこにあったか思い出せません。 それを知りたいと思っています。 中央駅に入ってからわたしの歩く視点でわたしのイメージで記載しますと、 1.旅行案内所(i)を背にして正面入り口を入ると、右前方にDB予約・発券カウンターがある。右突き当りには名前は忘れましたが銀行がある。 2.正面入り口から左方向に歩き出すと、右前方には書店があり、そこから右へ続く通路があり、公衆電話・小売スーパー・置き椅子があり、突きあたりにはコイン投入式のトイレがある。 3.1.の位置に戻ります。 正面入り口から左方向に歩き出すと、左前方にはDB案内所があり、その手前には左に進む通路があり喫茶店がある。(一昨年2006年8月時点では閉まっていました。) ここで、 3.のDB案内所から先に進みプラットホームに向かうことは分かっているのですが、 階段がどこにあったのかイメージが浮かびません。 最終的に各番プラットホームにはコインロッカーが置いてあるコンコースから左右にある階段を下りて向かったと思いますが、とすると一度駅構内で2階に上っているはずです。 その階段がどこにあったのか・・・思い出せません。 可能性として、3.のDB案内所から先に2階へ進む階段があった?としか思いつかないのですが。 皆様からのお力でその部分の記憶のもやもやを取り去れればと考えています。 変な質問ですみません。 よろしくお願いします!
- CGIからデータベースにデータを登録したいのですが。。
CGIからデータベースにデータを登録したいのですが。。 ブラウザ(文字コードはUTF-8)からデータをCGIで取得し、そのデータをMySQLに登録したいと考えています。 このようにしています。 $sth = $db->prepare(" INSERT INTO tbl (hiduke,code,namae,suryo,biko,sakuseibi,kosinbi) VALUES($hiduke,$code,$namae,$suryo,$biko,$sakuseibi,$kosinbi) "); $sth->execute; $biko の部分にはデータが入ったり入らなかったりします。 この$bikoにデータが入っているときは、ちゃんとテーブルに登録されるのですが、 空の場合はテーブルに登録されないのです。 試しに、このようにしてみると $sth = $db->prepare(" INSERT INTO tbl (hiduke,code,namae,suryo,biko,sakuseibi,kosinbi) VALUES($hiduke,$code,$namae,$suryo,'',$sakuseibi,$kosinbi) "); $sth->execute; bikoの部分が空でちゃんと登録されます。 テーブル定義もbikoの部分はNULL値OKにしてあります。 bikoのデータ型がTEXTでもVARCHARでもダメです。 どうしてなのかわっぱりわからず、ここ数日、ずっと悩んでおります。 テーブルに登録するコードの直前で、$biko=''; としても登録されません。。 わかりづらい質問かと思いますが、ご不明点がございましたら ご質問ください。 よろしくお願い致します。
- ベストアンサー
- Perl
- noname#223023
- 回答数2
- Access2003での排他制御
Access2003での排他制御 顧客管理をAccess2003で行っています。 新規で登録するときに顧客IDの重複チェックを[顧客ID_LostFocus]内で DCountを使って行っています。 [cmd登録_Click]で Set db = CurrentDb Set rst = db.OpenRecordset("顧客情報") With rst .AddNew ![顧客id] = me.txt顧客ID.value ![顧客住所] = me.txt顧客住所.value ![顧客TEL] = me.txt顧客TEL.value ・ ・ ・ .Update End With 以上の処理を行っています。 (1)Aさんが新規登録で顧客IDを入力 (2)重複されていないので顧客名や住所の入力をおこなう。 (3)Bさんが同じ顧客IDで新規登録 このケースの場合、 Aさんはまだ登録処理が済んでいない(登録ボタンを押していないためテーブルに反映されていない) ので(3)ではBさんの顧客IDは重複されていません。 Aさんが入力中の顧客IDをBさんが入力した時に「他のユーザーが使用しています」みたいな メッセージを表示するにはどのようにしたらよろしいでしょうか?? 文章が上手く書けなくてもうしわけありません、 何卒宜しくお願いいたします。
- ベストアンサー
- その他(データベース)
- kazuya_rx93
- 回答数4
- Excel VBA元データから別シートへ振り分け
元データ(DB)をA列の値で振り分け 別シート(印刷)に転記していく方法について教えてください。 以下のコードで転記は行えましたが1つの値で1つのシートを作成になってしまいます。 どこをどのように変更すればA列の値(一種類に1つのシートにまとめたい)に 1つのシートに転記となるかご教示お願いします。 Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("DB") Set sh2 = Worksheets("印刷") d = sh1.Range("A65536").End(xlUp).Row For i = 2 To d sh2.Cells(6, "B") = sh1.Cells(i, "A") sh2.Cells(10, "B") = sh1.Cells(i, "B") sh2.Cells(10, "C") = sh1.Cells(i, "C") sh2.Cells(10, "D") = sh1.Cells(i, "D") sh2.Cells(10, "E") = sh1.Cells(i, "E") sh2.Cells(10, "F") = sh1.Cells(i, "F") sh2.Cells(10, "G") = sh1.Cells(i, "G") sh2.Cells(10, "H") = sh1.Cells(i, "H") sh2.Cells(10, "J") = sh1.Cells(i, "I") 'sh2.Range("a1:J34").PrintOut Next i End Sub よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- orange1010
- 回答数7
- 子プロセス終了で閉じてしまうmysqlコネクション
pcntl_fork()を利用して、子プロセスでファイル収集を行い、親プロセスがそのファイルを解析してDBへ登録するといった単純な2並列のプログラムを書いています。 ところが子プロセスが終了した時点でどうもmysqlのコネクションが切れてしまうようなのです。 以下は上記内容を再現した簡易コードです。 $connect = mysql_pconnect("localhost", "user", "password"); //parent if ($pid = pcntl_fork()) { // 本当はここで収集されたファイルを順次解析してDBに登録を行う。 sleep(5); // 子が先に終了するように時間差を。 mysql_query($query="use testdb",$session) || die(sprintf("%s : %s\n", $query, mysql_error())); pcntl_wait($status); //child } else { // 本当はここでファイルを収集する sleep(1); exit(0); } 上記コードは以下のエラーを吐いて終了します。 use testdb : MySQL server has gone away mysql_pconnectの代わりにmysql_connectを使ったり、mysql_queryの第二引数に$connectを与えても結果は変わりません。 子プロセスが終了してもmysqlとのコネクションを維持しておきたいのですが解決策はあるでしょうか。 ちなみにPHP CLIで実行しています。 OS: Linux PHP 5.2.4