yambejp の回答履歴
- 前のidをコピーするSQL文
MySQLを使って管理画面を作っております。 $sql='INSERT INTO players(name,price,position_id) VALUES(?,?,?)'; という文で使ったidをコピーしてから次のINSERTの文でそのidの番号を使って別テーブルのカラムにその番号をINSERTするしくみを作りたいのですがなかなか上手くいきません。 var_dump($last_id);では番号がコピーされているのですが、INSERTができません。 いつもお世話になってしまい大変恐縮なのですが、どなたかご教授いただけないでしょうか?よろしくお願い致します。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="../../xxxxx/team.css"/> <title>選手追加完了</title> </head> <body> <div id="main"> <?php $pro_name=$_POST['name']; $pro_price=$_POST['price']; $pro_position_id=$_POST['position_id']; $pro_team=$_POST['team_name']; $pro_name=htmlspecialchars($pro_name); $pro_price=htmlspecialchars($pro_price); $pro_position_id=htmlspecialchars($pro_position_id); $pro_team=htmlspecialchars($pro_team); $dns = "mysql:host=localhost; dbname=player;charset=utf8"; $dns_id = "xxxxx"; $dns_pw = "xxxxxxx"; try { $conn = new PDO($dns, $dns_id, $dns_pw, array(PDO::ATTR_EMULATE_PREPARES => false)); } catch (Exception $e) { echo 'ERROR: ' . $e->getMessage(); die(); } try { //トランザクションを開始する。オートコミットがオフになる $conn->beginTransaction(); //処理その(1) $sql='INSERT INTO players(name,price,position_id) VALUES(?,?,?)'; $stmt=$conn->prepare($sql); $data[]=$pro_name; $data[]=$pro_price; $data[]=$pro_position_id; $stmt->execute($data); //直近id取得 $last_id_sql = "SELECT LAST_INSERT_ID() as id"; $stmt = $conn->prepare($last_id_sql); $stmt->execute(); $last_id = $stmt->fetch(PDO::FETCH_ASSOC); $stmt->closeCursor(); //確認var_dump($last_id); //処理その(2) $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql2='INSERT INTO team(team_id,team_name) VALUES(?,?)'; $stmt=$conn->prepare($sql2); $data2[]=$pro_team; $data2[]=$last_id; $stmt->execute(array($last_id,$pro_team)); $stmt->closeCursor(); //確認var_dump($last_id); //変更をコミットする $conn->commit(); } catch(PDOException $e){ //変更をロールバックする $conn->rollBack(); echo 'ERROR:' . $e->getMessage(); } // 切断 $conn = null; print $pro_name; print'を追加しました。<br />'; ?> <a href="xxxxx">戻る</a> </div><!--main--> </body> </html>
- ベストアンサー
- MySQL
- sinto58167
- 回答数4
- 配列で渡されたチェックボックスの値の処理
POST元のページから <input type="checkbox" name="hoge[23]" value="1"> <input type="checkbox" name="hoge[31]" value="0"> <input type="checkbox" name="hoge[33]" value="1"> ・・・ のような形でデータが渡されます。 要素一つに付き、ONなのか、OFFなのか、表示されていないのかの判別が必要なため、このような形になっています。 受けるPHP側で、hogeの配列番号と一致したものがあればそれに対する処理を行う必要があります。 $buff=array(20,30,31); となっているとして、 $_POST["hoge"]の配列の値と$buff内の数字が一致したら~ (上記例だと31が一致) の書き方はどう書けばいいでしょうか。 よろしくお願いします。
- バッチ処理で16進数でファイルを作成したい
バッチの質問となります。 以下の処理がしたいのですが、プログラミングが苦手でして…。 似たような質問を探したのですが見つかりませんでしたので、質問させて頂きます。 【処理】 バッチを叩くことによって、 フォルダをコピーして、そのフォルダを16進数で出力しようとしてます。、 10進数では作成できたのですが…。 以下の形にしたいです。 コピーしたいフォルダ:C:\test\copy コピー後フォルダ :C:\test\1 C:\test\2 ~ C:\test\f C:\test\10 ~ C:\test\1f 申し訳ありませんがよろしくお願い致します。
- 締切済み
- その他([技術者向] コンピューター)
- えいる わっち
- 回答数3
- テキストファイルの中身をまとめて削除したい
テキストファイルの中身をまとめて削除したいのですが 例えばa01.txtからz01.txtまである場合 fopen'w'でまとめて削除する場合、どう記述するのでしょうか? ご教示お願い致します。
- inline-blockを上下中央揃えにする方法
以下のhtmlで、内容に合わせてブロックの大きさが変わる状態での 上下の中央揃えができず悩んでいます。 html ------------------------------------------------------------------------------------------ <div id="box1"> <div id="box2"> <div id="box3"> <div>あああああああああああああああああああああああ</div> <div>いいいいいいいいいいいいいいいいいいいいいいい</div> <div>ううううううううううううううううううううううう</div> <div>えええええええええええええええええええええええ</div> <div>おおおおおおおおおおおおおおおおおおおおおおお</div> </div> </div> </div> ------------------------------------------------------------------------------------------ css ------------------------------------------------------------------------------------------ body { text-align:center; } #box1 { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width:700px; height:400px; background:#666666; } #box2 { position: absolute; left: 0; right: 0; margin: auto; width:500px; height: 300px; background:#FFF; } #box3 { display: inline-block; text-align: left; vertical-align: middle; background:#CCCCCC; } ------------------------------------------------------------------------------------------ #box2に対して#box3の内容が、縦に伸びても短くなっても常に上下が中央に配置されるようにしたいのですが、どうにもうまくいきません。 ブロック内のテキスト自体は左揃えで、ブロックそのものが中央です。 どなたか、ご教授お願い致します。 inline-blockを上下中央揃えにする方法
- MySQL SQL文 仮想カラムに番号を振りたい
f1、id、name、price の株価データがhistoryテーブルに入っています。 f1は発注番号です。「id,name=株券」は複数あるため、ひとつの株券だけを見ると発注番号はランダムになります。 SELECT * FROM (SELECT f1,id,name,price FROM history WHERE id = 2001 ORDER BY f1 DESC limit 0,10) as AA ORDER BY f1 ASC 上記のSQL文により、株ID=2001番の直近10回の売買価格(推移)を取得することが可能です。 f1 id name price 14585 2001 日本製粉 521 14595 2001 日本製粉 523 14607 2001 日本製粉 527 14684 2001 日本製粉 524 14705 2001 日本製粉 520 14771 2001 日本製粉 519 14795 2001 日本製粉 518 14800 2001 日本製粉 516 14804 2001 日本製粉 517 14882 2001 日本製粉 519 やりたいこと この直近の取引10回に関し、若い順に必ず0から9の番号を振る関数(下記の仮想カラムzeroを追加する)を作りたいと思っています。 f1 id name price zero 14585 2001 日本製粉 521 0 14595 2001 日本製粉 523 1 14607 2001 日本製粉 527 2 14684 2001 日本製粉 524 3 14705 2001 日本製粉 520 4 14771 2001 日本製粉 519 5 14795 2001 日本製粉 518 6 14800 2001 日本製粉 516 7 14804 2001 日本製粉 517 8 14882 2001 日本製粉 519 9 株によっては10回未満の取引のものもあり、その場合はたとえば4回しか取引のない株の場合はzeroの値は0から3を振ることになります。 SELECT * FROM (SELECT f1,id,name,price FROM history WHERE id = 2001 ORDER BY f1 DESC limit 0,10) as AA ORDER BY f1 ASC を改良して作ろうとしましたがいいアイデアが浮かびません。 どなたか助けて頂けませんでしょうか? よろしくお願いいたします。
- PHPで文字列の一部を取り出したい
PHPで 文字列が、 SETING TIME: 00:00:32.421 と有った場合、 00:00:32.421 部分だけを取り出したい場合はどのようにすれば良いのでしょうか? よろしくおねがいします。
- CentOS6.6でtelnetサーバー構築不可
以下にCentOS6.6でtelnetServerを 構築した手順を記載します。 自分自身にすらtelnetできません。。。 なぜでしょう? 設定に間違いがあるのでしょうか? 参考にしたサイトは、 http://futurismo.biz/archives/1339 http://easyramble.com/install-telnet-and-setup.html http://www.sea-bird.org/pukiwiki/index.php?CentOS6%20%2F%20Telnet%A4%CE%C0%DF%C4%EA%A4%CE%B4%AC などです。 (1)telnetクライアントインストール [root@localhost ~]# yum -y install telnet (2)telnetサーバーインストール [root@localhost ~]# yum -y install telnet-server (3)telnetを許可設定 [root@localhost ~]# vi /etc/hosts.allow # hosts.allow This file contains access rules which are used to in.telnetd : 192.168.1. 127.0.0.1 #192.168.223.0のネットワークと自分自身OK (4)telnet不許可設定 [root@localhost ~]# vi /etc/hosts.deny # hosts.deny This file contains access rules which are used to in.telnetd : ALL #追記 (5) vi /etc/xinetd.d/telnet # default: on # description: The telnet server serves telnet sessions; it uses \ # unencrypted username/password pairs for authentication. service telnet { flags = REUSE- socket_type = stream wait = no user = root server = /usr/sbin/in.log_on_failure += USERID disable = no # ここをyesからnoに変更 } (6)xinitdを再起動する [root@localhost ~]# /etc/init.d/xinetd restart xinetd を停止中: [失敗] xinetd を起動中: [ OK ] (7)自分自身にtelnet [root@localhost ~]# telnet localhost Trying ::1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. 接続できない!! 23番ポートを解放してみる。 [root@localhost ~]# vi /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited -A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT #追加しました。 COMMIT iptablesを再起動 [root@localhost ~]# service iptables restart もう一度自分自信にtelnetしてみるが接続できず!! [root@localhost ~]# telnet localhost Trying ::1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. なぜでしょう?? どなたかご教授下さい。
- バージョンアップしたら「次のファイルを開こうとして
今はサーバーでPHP5.2を使用しているのですが、PHP5.4にバージョンアップしようと考えています。 しかし、いざサーバーの管理画面からPHP5.4にすると、サイトでページにアクセスする度に「次のファイルを開こうとしています」とダイアログが表示され閲覧できなくなってしまいました。 .htaccessを使用しhtmlファイルでphpを動かせるようにしています。これが関係している可能性があるとの書き込みを見ました。 現在、.htaccessには下記のように記述してあります。 「AddHandler php5.2-script .html .php AddType application/x-httpd-php .htm .html AddType application/x-httpd-cgi .htm .html AddType text/x-server-parsed-html .htm .html」 一番上のコードを下記のように変更してみましたが、結果は同じでした。 「AddHandler php5.4-script .html .php」 これはどのようにすれば「次のファイルを開こうとしています」のダイアログが表示されずPHP5.4が使用できるようになるでしょか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。
- ベストアンサー
- PHP
- taisuke1151
- 回答数4
- PHP post時にJavaScriptのコード
PHPでtextareaの値を処理ページにpost時にJavaScriptのコードをいれると 403エラーがでてしまいます、 文字列だと問題ないのですが ソースコードのようなものだとPOSTができません。 動画サイトから生成されたのiframeのソースをtextareaから次ページへ送り DBに登録させたいのですが。。。 何か策はありますか?
- 締切済み
- PHP
- tamurad007
- 回答数2
- access入所退所日のデータから日数分データ追加
access初心者です。現在以下のようなテーブルがあります。 入所日 退所日 宿泊者ID(A1) 2015/01/01 2015/01/10 この場合新規テーブルに 滞在期間 宿泊者ID(A1) 2015/01/01 宿泊者ID(A1) 2015/01/02 宿泊者ID(A1) 2015/01/03 : 宿泊者ID(A1) 2015/01/10 という具合に新規追加するには、どのような手法が考えられますでしょうか? 提示情報が足りないと思うのですが、その点のご教授もお願い申し上げま。
- ベストアンサー
- その他(データベース)
- planetpfk
- 回答数9
- アカウントを指定して許可していないフォルダを利用
するには、どうすれば良いでしょうか? ftpだと次のようなことがエクスプローラで出来ていました。 そのやり方を知った当初は、ファイル共有にも利用出来ていました。 クライアントのアカウントには、サーバ上には低いアクセス権しかないアカウントだけを 用意し、下記の要領で file://ユーザ名@サーバ名/ でショートカットを作り、 そのショートカットを開く際にパスワード入力することで、利用出来ていました。 現在は、出来ないのでしょうか? ※標準のFTPアクセス ftp://FTPサーバ名/ ※ユーザー名とパスワードを指定したFTPアクセス ftp://ユーザー名:パスワード@FTPサーバ名/
- ベストアンサー
- ネットワーク
- noname#205652
- 回答数1
- 請求先
Access 2013 vba 1つの受注された案件で、その売上の請求先が複数になる場合があります。 しかも、その請求先に何を請求するのかは、その場、その場で変わり、決まっていないらしいです。 このような場合に、どのように請求先を1つの受注した工事案件に引き当てれば良いのか、良くわからず、困っています。テーブル構造は恐らく 【受注テーブル】 ・受注ID(Main key) ・受注日 ・依頼元 ・依頼内容 ・受注総合計金額 などなど 【請求引当テーブル】 ・請求引当ID(Main key) ・受注ID (Ex.Key) ・請求金額 ・摘要 ・支払期日(依頼元が当社に支払う期日) ・支払方法 しかし、その明細については、受注テーブルの項目の依頼内容の何になるのかは、その時にならなければわからないのです。それに、請求先が1つしかない場合もあるし、複数に成るのが最後にならないと分からない場合もあります。 この場合、請求書をPGでデータベースからデータを選択して作成する場合、何を選択すれば良いのかわかりません。 このような説明の仕方では、ご回答が難しいかとも思いますが、私も説明に苦慮しています。 実際に、このようなケースを扱ったシステムでは、どんな解決策をとっているのか知りたいです。
- ベストアンサー
- その他(データベース)
- superwonderful
- 回答数5
- セレクトメニューと複数のテキストボックス連携
お世話になります。セレクトメニュー1個と複数(2個)の テキストボックスに連携についてお尋ねします。 セレクトメニュー1個の選択肢が「aaa」「bbb」「ccc」とあり、 「aaa」を選んだら、その value がテキストボックス1に「111」が入り、それと同時にテキストボックス2に「アルファベットの1番目」と入り、 「bbb」を選んだら、その value がテキストボックス1に「222」が入り、それと同時にテキストボックス2に「アルファベットの2番目」と入り、 「ccc」を選んだら、その value がテキストボックス1に「333」が入り、それと同時にテキストボックス2に「アルファベットの3番目」と入る、 ようにしたいのですが、どのような記述にしたらよろしいのでしょうか? よろしくお願い致します。
- ベストアンサー
- JavaScript
- hage_1000
- 回答数1
- ページ遷移後のcssプロパティ保持
チェックボックスがチェックされているか否かで ディスプレイプロパティの表示/非表示を切り替えるスクリプトを作成しました。 しかしながら、submitでページ遷移した後、ブラウザの戻るボタンで戻ると 非表示の状態になってしまいます。 ページ遷移後もディスプレイプロパティを保持する良い方法はありますでしょうか。 ●javascript <script type="text/javascript"><!-- function chkdisp( obj) { if( obj.checked ){ document.getElementById('ans1').style.display = "block"; } else { document.getElementById('ans1').style.display = "none"; } } // --></script> ●html <form method="post" action="temp2.html" enctype="multipart/form-data"> <input type="checkbox" id="chk1" onclick="chkdisp(this)" /><label for="chk1">これクリックで「クリック1」</label><br /> <p id="ans1" style="display:none;">クリック1</p> <input type="submit"> </form>
- ベストアンサー
- JavaScript
- 25taku
- 回答数1
- sessionがクリアされない
教えてください。 BBB.phpでこのように書いていたとします。 <?php session_cache_limiter('private, must-revalidate'); session_start(); ~いろいろ処理~ unset($_SESSION['pcode']); ~いろいろ処理~ ?> <?php include(dirname(__FILE__).'/../include/header.php'); ?> </body></html> header.phpでは $_SESSION['pcode']を表示しているのですが、 前のページ(たとえばAAA.php)で$_SESSION['pcode']に値を入れていた場合 BBB.phpを表示すると その値が表示されてしまいます。 直前に unset($_SESSION['pcode']); をしているのに その前の値が表示されます。 includeはどのタイミングでなされるのでしょうか? また、 unset($_SESSION['pcode']); を有効にするにはどうすればいいのでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
- angelinaane
- 回答数2
- サーバーのメール設定の仕方
ドメインのサーバーを移動したのですが、 新たなサーバーのほうへの メールの送受信の設定の仕方を教えていただけませんでしょうか。 メールソフトでなく、サーバーのほうの設定の仕方です。 宜しくお願いします!
- 締切済み
- ハードウェア・サーバー
- yoshiritomo
- 回答数2
- Updateの複数テーブル条件時のLIMIT実行
すみません、MySQLのSQL文で教えてください。 以下のSQL文を実行すると UPDATE overflag c, asinprice d SET d.priceCheckUS = TRUE WHERE c.asin=d.asin AND c.priceOverUS=0 LIMIT 1; ERROR 1221 (HY000): Incorrect usage of UPDATE and LIMIT というエラーが出力されます。 UPDATE asinprice d SET d.priceCheckUS = TRUE WHERE d.asin='111' OR d.asin='000' LIMIT 1; は実行できました。 複数テーブルだと実行できないように理解しましたが、何が問題か教えてください。 よろしくお願いします。
- メモリ不足になった後の処理
PHPで処理中にメモリ不足になった場合、下記のようなエラーが起こるかと思います。 「Fatal error: Allowed memory size of xxxxx bytes exhausted (tried to allocate 16 bytes) in …」 ここで質問させて頂きたいのですが、 予めメモリ不足が起きる可能性がある処理を、tryなどで囲んでおき、実際にメモリ不足が起きた際は、その処理を飛ばし、それ以降の処理を実行させるといったことは可能でしょうか。 それとも、やはりメモリ不足でエラーが起きているので、その後の処理を実行させるといったことは出来ないのでしょうか。 もし何か方法などございましたら、ご教授頂けると助かります。 また、質問に不備な点などありましたら、ご指摘お願いします。 よろしくお願いします。
- Firefoxでクッキーが取得できないことがある
Firefox最新版でCookieを取得できない場合があります。 Cookieの発行:phpで発行しています。 setcookie("id", 3600, 0, "/"); Cookieの取得:javascriptで取得しています。 数百人に使ってもらって一人だけたまにCookieが取得できない場合があります。 その人の環境が悪いのでしょうか? それともこちらに問題があるのでしょうか? その人のCookieをFirefoxで見せてもらったら確かにCookieはありました。 でも取得できません。 仕方なくそのCookieを削除して再発行したら取得できるようになったのですが、1ヶ月ほど問題なかったのが またCookieが取得できないと言ってきました。 何がいけないのでしょうか?他の数百人のユーザーは問題ありません。 どうぞよろしくお願い致します。
- ベストアンサー
- JavaScript
- suffre
- 回答数1