• 締切済み

MySQL更新

サッカー選手の出場時間やゴール数をデータベースに格納しています。 これまでは試合の度にphpMyAdminを利用して直接入力していたのですが、もっと簡単に更新作業が出来ないかと更新フォームを作成しデータを更新しようと考えています。 下記サイトを見て他のテーブルの更新は出来たのですが、この選手テーブルの更新をどうすればいいのか分かりません。 http://ponk.jp/php/basic/php_mysql#page_index4 テーブル名:active_player2 last_name(VARCHAR型)|goal(INT型)|comeout_time(INT型) 加藤|5|180 田中|3|270 佐藤|0|235 やりたい事は二点あります。 二点ともポジション別に全選手をずらっと並べ(チェックボックス)、対象選手にチェックを入れて更新ボタンをクリックしたら予め決めている数字を今の数字に加えて格納したいです。 (1)得点を挙げた選手 得点を挙げた選手にチェックを入れて更新ボタンを押すと、チェックを入れた選手のgoalに「1」が追加される。 (2)フル出場した選手 サッカーの場合、一試合で三人まで交代できるので少なくとも8選手はフル出場することになります。 そこでフル出場した8選手にチェックを入れて更新ボタンをを押すとその選手のcomeout_timeに「90」が追加される。 現在のコードは下記のようになっています。 player-update.htmlにフォームを設け、player-update2.htmlでデータを更新しようと考えています。 <?php function pt_set($pt,$checbox_name){ global $dbh; $sql = 'SELECT * FROM active_player2 WHERE position LIKE "%'.$pt.'%"'; foreach ($dbh->query($sql) as $row) { print '<input type="checkbox" name="'.$checbox_name.'" value="'.$row['last_name'].'">'.$row['last_name'].'</label>'; } return; } ?> <form action="player-update2.html" method="post"> <table> <tr> <th width="170">得点者</th> <td colspan="3"><p>DF</p> <?php pt_set("DF","goal"); ?> <p>MF</p> <?php pt_set("MF","goal"); ?> <p>FW</p> <?php pt_set("FW","goal"); ?> </td> </tr> <tr> <th width="170">フル出場</th> <td colspan="3"><p>GK</p> <?php pt_set("GK","full"); ?> <p>DF</p> <?php pt_set("DF","full"); ?> <p>MF</p> <?php pt_set("MF","full"); ?> <p>FW</p> <?php pt_set("FW","full"); ?> </td> </tr> </table> <input type="submit" value="更新する" style="width:300px;height:40px"> </form> これをplayer-update2.htmlに送信して、どのようにデータを追加すればいいのか分かりません。 ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

  • PHP
  • 回答数4
  • ありがとう数0

みんなの回答

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.4

To_aru_User 様が実装に集中されていて仕様については気にされていないようなのですが、一点疑問点がございます。 > (1)得点を挙げた選手 > 得点を挙げた選手にチェックを入れて更新ボタンを押すと、チェックを入れた選手のgoalに「1」が追加される。 この仕様だと一選手が一試合に複数回ゴールした場合に goal の値が実際のゴール数とずれると思うのですが 問題ないのでしょうか? サッカーのゴールは一選手が一試合で複数回することがまれだというのは知っているので、その場合はレアな特殊ケースとして phpMyAdmin を使って更新するという運用にするというのならいいのですが、それなら左記の特殊ケースを仕様として明示しておく必要があります。

noname#244856
noname#244856
回答No.3

訂正 <input type="submit" value="更新" /> <?php endif; ?> </form> ↓ <input type="submit" value="更新"> </form> <?php endif; ?>

noname#244856
noname#244856
回答No.2

作ってみました。ローカル環境で動作確認したので多分大丈夫だと思います。 http://pastebin.com/g8JYwLQs CSRF対策はしていないのでその点だけご注意を。 http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%AA

noname#244856
noname#244856
回答No.1

まずまとめ記事を記載しておきます。以下はこれを踏まえての回答です。 Qiita - $_GET, $_POSTなどを受け取る際の処理 http://qiita.com/mpyw/items/2f9955db1c02eeef43ea Qiita - PHPでデータベースに接続するときのまとめ http://qiita.com/mpyw/items/b00b72c5c95aac573b71 - 回答に記載するコードは読みやすくするために全角スペースでインデントしています。 - デバッグしてないのでどうでもいい文法ミスとかあるかもしれません。 検索のためのクエリ埋め込み方法を誤っています。この方法だとSQLインジェクションに対する脆弱性があったり、正しく検索できないケースがあったりしていろいろ問題になります。以下のようにしてください。欲を言えば、こういうケースではグローバル変数を使わず、クラスを使ったほうが設計としては望ましいのですが…(「こういうケースでは」というよりも「グローバル変数は使ってはいけないもの」と考えたほうがいいかも) function pt_set($pt, $checbox_name) {  global $dbh;  $stmt = $dbh->prepare("SELECT last_name FROM people WHERE name LIKE ? ESCAPE '!'");  $stmt->execute(array('%' . preg_replace('/(?=[!_%])/', '!', $pt) . '%'));  $stmt->setFetchMode(PDO::FETCH_COLUMN, 0);  foreach ($stmt as $last_name) {   printf(    '<label><input type="checkbox" name="%1$s" value="%2$s">%2$s</label>' . PHP_EOL,    htmlspecialchars($pt, ENT_QUOTES, 'UTF-8'),    htmlspecialchars($last_name, ENT_QUOTES, 'UTF-8')   );  } } >> player-update.htmlにフォームを設け、player-update2.htmlでデータを更新しようと考えています。 更新するページって「*.php」じゃないとだめですよね…?(「*.html」をPHPとして認識させるのであれば話は別ですが)それに、今回のケースではファイルを分けずに全部1ファイルで書いた方がスッキリしそうな感じはありますね。全体的に見ると、以下のような書き方になります。 <?php /* 関数定義など */ /* 受け取った $_POST のチェックなど */ try {    /* データベースへの接続 */     if ($_SERVER['REQUEST_METHOD'] === 'POST') {   try {    /* POSTされたときのみ実行するUPDATE処理 */    $msgs[] = '~しました';   } catch (Exception $e) {    $msgs[] = $e->getMessage();   }  }    /* SELECT処理 */ } catch (Exception $e) {    $msgs[] = $e->getMessage();   } header('Content-Type: text/html; charset=utf-8'); ?> <!DOCTYPE html> <html> .... </html> ちょっと長くなりそうなので回答分けます。

関連するQ&A

  • 変則レアルマドリー VS J1王者柏レイソル

    質問です! レアルマドリーのFW,MF,DF全員がそれぞれ違うポジションという条件で 出場を求められた場合、去年のJリーグ王者の柏レイソルと戦ったら どちらが勝つと思いますか?! 条件を具体的に言うと正規ポジションが FWの選手⇒MFかDFとしてのみ出場可能 MFの選手⇒FWかDFとしてのみ出場可能 DFの選手⇒FWかMFとしてのみ出場可能 ということです。フォーメーションは色々あると思いますが 大きな括りで上記に大別ということです。

  • MySQLについての質問です

    毎回お世話になっています。 今回も知恵を頂けたらありがたいです。よろしくお願い致します。 下記のようなプログラムを組んだところ、ページを開いたらすぐ全データがが出てくる状態になっています。ページを開いても何もデータが出てこない状態にして検索してからデータが出てくるようにするにはどのように書き換えれば良いのでしょうか? <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>リーグデータ</title> <link rel="stylesheet" type="text/css" href="../common/style.css"/> </head> <?php error_reporting( E_ALL ^ E_NOTICE ); ?> <body id="list"> <div id="main"> <form name="search_form" action="player_list.php" method="post"> <input type="hidden" name="cmd" value="search" /> <table> <tr> <th class="th_top">選手名</th> <td class="td_top"> <input type="text" name="name" size="30" value="<?php echo $_POST['name'] ?>"> </td> </tr> <tr> <th>チーム名</th> <td> <input type="checkbox" name="team_id[]" value="1" <?php if (isset($_REQUEST['team_id']) and in_array('1',$_REQUEST['team_id'])) print 'checked'; ?>/> 名古屋 <input type="checkbox" name="team_id[]" value="2" <?php if (isset($_REQUEST['team_id']) and in_array('2',$_REQUEST['team_id'])) print 'checked'; ?>/> 徳島 <input type="checkbox" name="team_id[]" value="3" <?php if (isset($_REQUEST['team_id']) and in_array('3',$_REQUEST['team_id'])) print 'checked'; ?>/> 千葉 <input type="checkbox" name="team_id[]" value="4" <?php if (isset($_REQUEST['team_id']) and in_array('4',$_REQUEST['team_id'])) print 'checked'; ?>/> 浦和 <input type="checkbox" name="team_id[]" value="5" <?php if (isset($_REQUEST['team_id']) and in_array('5',$_REQUEST['team_id'])) print 'checked'; ?>/> 磐田<br /> </td> </tr> <tr> <th class="th_middle"> ポジション </th> <td class="td_middle"> FW MF DF GK </td> </tr> </table> <p> <input type="submit" value="検索"> <input type="reset" value="リセット"> </p> </form> <?php try { $dsn = 'mysql:dbname=xxxxx;host=localhost'; $user = 'xxxxx'; $password = 'xxxxxx'; $dbh = new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); $sql = 'SELECT code,name,team_name,price,position,gazou FROM mst_player_market WHERE 1'; $stmt = $dbh->prepare($sql); $stmt->execute(); $dbh = null; if(isset($_POST['name'])) { $name = htmlspecialchars($_POST['name']); print($name); } if(isset($_POST['name'])) { if(!$_POST['name']==true){print ''; }else{ $sqlN ='code IN (SELECT code FROM mst_player_market where name LIKE ("%'.$_POST['name'].'%"))'; $sql.=' and ('.$sqlN.')'; } } if(isset($_POST['team_id'])and is_array($_POST['team_id'])){ $ary = array_filter($_POST['team_id'], function($v) {return is_numeric($v);}); $sqlA = 'code IN (SELECT playerid FROM team WHERE team_id IN ('.implode(',', $ary).'))'; }else{ print ''; $sqlA = ' 1 '; $flag=false; } $sql.=' and ('.$sqlA.')'; if($flag) $sql.="AND 0 ";; //参考 print $sql."<br>"; //実行 $pdo = new PDO($dsn,$user,$password); $stmt = $pdo->prepare($sql); $stmt->execute(); //画像処理 $rows=array(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $rows[]=$row; }; //参考SQL文表示 print_r($rows); print'選手一覧<br /><br />'; print'</form>'; } catch(Exception $e) { print'ただいま障害により大変ご迷惑をお掛けしております。'; exit(); } ?> <?php foreach((array) $rows as $row ){ ?> <tr> <td><img src="../player/<?php print( htmlspecialchars( $row["gazou"], ENT_QUOTES )); ?>" /></td> <td><?php print( htmlspecialchars( $row["team_name"], ENT_QUOTES )); ?></td> <td>\<?php print( htmlspecialchars( number_format( $row["price"] ),ENT_QUOTES ) ); ?></td> <td> <?php print( htmlspecialchars( $row["name"], ENT_QUOTES ) ); ?> </td> <td> <?php print( htmlspecialchars( $row["position"], ENT_QUOTES ) ); ?> </td> </tr> <?php } ?> </table> </div> <!------------mainのdiv--------------> </body> </html>

    • ベストアンサー
    • MySQL
  • FIFAコンフェデレーションズカップ ドイツ2005日本、ブラジルと引き分け

    見逃しました~。 日本の選手のポジション教えてください。  FW FW MF MF MF MF MF DF DF DF GK みたいな感じで。 それと良かった選手、悪かった選手、日本・ブラジル共に教えてください。 点数評価でもいいです(コメントもつけてもらえたら尚うれしいです)。

  • FW・MF・DFの意味

    テレビで試合を見ていて思うのですが、 FW 鈴木 MF 中田 DF 宮本 などのように選手にはポジションがありますよね? 試合にはFWやMFやDFとして登録しているのでしょうか? おそらく、登録していると思うのですが、 例えば、FWとして登録した選手は守備行為をしてはいけない、というルールも、DFとして登録した選手がFWのポジションにいてはいけない、というルールもありませんよね? そう考えてみると、FW,MF,DFとして登録する意味がありません。FW、MF、DFとして登録する事に何の意味があり、何に拘束されるのでしょうか? サッカーのルールには詳しくないので、馬鹿みたいな質問かもしれませんが、教えてください。

  • PHPでMYSQLを使ったログイン

    PHPでMYSQLを使いってログインフォームを作ったのですが 画像の上の方ようなテーブルを作りPHP側のログインフォームでログインしてもらい 画像のusernameの[S]でログインしたらIDとFirst NameとLast NameをPHPで 画像の下の方のように表示するようにしたいのですが echo "<tr><th>ID</th><th>USERNAME</th><th>First Name</th><th>Last Name</th></tr>"; $st = ("select * from kd3musers where username='$username'"); (この間) echo "<tr><td>$id</td><td>$username</td><td>$first_name</td><td>$last_name</td></tr>"; (この間)の中身がわかりません。 別の書き方や、わかる方がいましたらよろしくお願いします

    • ベストアンサー
    • PHP
  • 『MySQL』どこがまちがってますでしょうか?!

    <table> <tr> <th>name</th> <th>telno</th> </tr> <?php if( ! $db = mysql_connect( 'localhost', 'ユーザー名', 'パスワード') ){ die( ’MySQL接続失敗' ); mysql_select_db('test', $db ); $sel = mysql_query('SELECT name,telno FROM phone'); while ($row = mysql_fetch_array ($sel)) { echo "<tr>"; echo " <td>".$row["name"]."</td>"; echo " <td>".$row["telno"]."</td>"; echo "</tr>"; } mysql_free_result ($sel); mysql_close($db); ?> </table> 上記のソースを自分のレンタルサーバーに置いてみてアクセスしたところ 何も表示されません。 何がおかしいでしょうか? 状態   ・Win MYSQLLadmin 1.4が起動していて青信号状態    このソフトの中では PC名   Ltest Lphone (コマンドプロンプトからは mysql> select * from phone; で中にデータは入っていることが確認できた。    ・サーバーはPHP可。(MySQL可でないとダメ?!)) 何がおかしいんでしょ?! 自分で考える不安要素は、 PHPは<?php ~?> で挟むんで使うことは先日知ったばかりですが、PHP自体が動いてるはずと仮定してます。 またこのphoneのテーブルの中身はMySQLのサーバーに格納されてるのでしょうか?! それとも自分のPCのローカル?! PLEASE H E L P M E !!!

    • ベストアンサー
    • MySQL
  • PHPとMySQL 検索フォームを作りたい。

    PHPとMySQLを使って商品一覧を作りました。 ◆商品一覧表 http://pips.chu.jp/0/07/index.php <?php function connect() { return new PDO("mysql:dbname=★.★","★","★", array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET `utf8`")); } $pdo = connect(); $st = $pdo->query("SELECT * FROM shohin"); $shohin = $st->fetchAll(); ?>    <TABLE border="1"> <tr> <th>商品番号</th> <th>商品名</th> <th>分類</th> <th>販売単価</th> <th>仕入単価</th> <th>登録日</th> </tr> <?php foreach ($shohin as $g) { ?> <tr> <td><?php echo $g['id'] ?></td> <td><?php echo $g['name'] ?></td> <td><?php echo $g['bunrui'] ?></td> <td class="td-price"><?php echo number_format ($g['htanka']) ?></td> <td class="td-price"><?php echo number_format ($g['stanka'])?></td> <td><?php echo $g['day'] ?></td> </tr> <?php } ?> </TABLE> ◆特定の商品一覧表 http://pips.chu.jp/0/07/irui.php ↓ $st = $pdo->query("SELECT * FROM shohin");の部分を $st = $pdo->query("SELECT * FROM shohin WHERE bunrui='衣類' ");に変更すると 分類が衣類だけの表になります。 ◆入力フォーム http://pips.chu.jp/0/07/form.php ↓ <form action = "kensaku.php" method="post">    分類:<input type="text" name="bunrui">    <input type="submit" name="submit" value="検索"> </form> こんな感じの入力フォームを作り、分類名を入力すると、その分類名の一覧表に反映されるようにしたいです。 ◆検索された一覧表 http://pips.chu.jp/0/07/kensaku.php ↓ <?php function connect() { return new PDO("mysql:dbname=★.★","★","★", array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET `utf8`")); } $pdo = connect(); $st = $pdo->query("SELECT * FROM shohin WHERE bunrui='?' "); $shohin = $st->fetchAll(); ?>    <TABLE border="1"> <tr> <th>商品番号</th> <th>商品名</th> <th>分類</th> <th>販売単価</th> <th>仕入単価</th> <th>登録日</th> </tr> <?php foreach ($shohin as $g) { ?> <tr> <td><?php echo $g['id'] ?></td> <td><?php echo $g['name'] ?></td> <td><?php echo $g['bunrui'] ?></td> <td class="td-price"><?php echo number_format ($g['htanka']) ?></td> <td class="td-price"><?php echo number_format ($g['stanka'])?></td> <td><?php echo $g['day'] ?></td> </tr> <?php } ?> </TABLE> 「入力フォーム」と「検索された一覧表」のソースの書き方がわかりません。 どのようにけば実現するでしょうか。 まだ初心者なので、本やサイトを調べながら見よう見まねでやっています。 具体的に、どの部分を書き換えればよいか教えていただければ有難いです。 よろしくお願いします。

  • PHPでMySQLにデーターを追加するところで壁に当たってしまいました

    PHPでMySQLにデーターを追加するところで壁に当たってしまいました。 PHP5.3&MYSQL5.1 1.フォームへ入力 2.確認画面 3.MySQLへデーター追加 1.form <html> <head><title></title></head> <body> <form method="post" action="conf.php"> <table> <tr><th>番号</th><td><input type="text" name="id" /></td></tr> <tr><th>タイトル</th><td><input type="text" name="title" /></td></tr> <tr><th>テキスト</th><td><textarea name="cont" cols="40" rows="5" /></textarea></tr> <tr><th>日付け</th><td><input type="text" name="update" size="10" /></td></tr> </table> <input type="submit" value="送信" /><input type="reset" value="リセット" /> </form> </body> </html> 2.確認画面 <html> <head><title></title></head> <body> <table> <tr><th>番号</th><td><?php echo htmlspecialchars($_POST["id"]) ?></td></tr> <tr><th>タイトル</th><td><?php echo htmlspecialchars($_POST["title"]) ?></td></tr> <tr><th>テキスト</th><td><?php echo htmlspecialchars($_POST["cont"]) ?></td></tr> <tr><th>日付け</th><td><?php echo htmlspecialchars($_POST["update"]) ?></td></tr> </table> <form method="post" action="upld.php"> <input type="hidden" name="did" value="<?php echo htmlspecialchars($_POST["id"]) ?>" /> <input type="hidden" name="title" value="<?php echo htmlspecialchars($_POST["title"]) ?>" /> <input type="hidden" name="cont" value="<?php echo htmlspecialchars($_POST["cont"]) ?>" /> <input type="hidden" name="update" value="<?php echo htmlspecialchars($_POST["update"]) ?>" /> <input type="submit" value="登録" /> </form> </body> </html> 3.MySQLへデーター追加 <?php $Con = mysql_connect("localhost","root",""); if ($Con == false) {dir ("MySQLの接続に失敗。");} if (!mysql_select_db("phpdata",$Con)) {dir ("データーベース接続に失敗。");} $sql = "insert into daimoku(id,title,cont,update) values('".$_POST["id"]."','".$_POST["title"]."','".$_POST["cont"]."','".$_POST["update"]."')";//SQL文の作成 $res = mysql_query($sql) or die(mysql_error());//クエリの実行 mysql_close($Con);//切断 ?> <html> <head> <title></title> </head> <body> <p>ご登録ありがとうございました。</p> <a href="01.php">戻る</a> </body> 以上のコードでデーターの追加が出来ません。 どなたか教えていただけないでしょうか?

    • ベストアンサー
    • PHP
  • mysql データ更新

    一覧画面に更新ボタンを作成しました 更新ボタンを押すとkoushin_input.phpにデータを渡し入力フォームを表示され番号、氏名、住所が選択されたデータが表示されるようにしたいのでが更新ボタンを押しても下記のように出ます string(64) "SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`=0" bool(false) データが削除されています ソースコードはtop.php 一覧画面です <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","admin","db_test"); if(isset($_GET["del"]) and isset($_GET["id"]) and $_GET["del"]==1){ $id=(int) $_GET["id"]; $result = mysqli_query($con,"DELETE FROM tbl_test where `番号`={$id}"); } // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "<form action=koushin_input.php method=get>"; echo "<td><input type=submit value=更新></td>"; echo "</form>"; echo "<td><a href=\"".$_SERVER["SCRIPT_NAME"]."?del=1&amp;id=".$row['番号']."\">削除</a></td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html> 受け取る側 koushin_input.phpです <html> <body> <?php // データベースに接続 if(!$con=mysql_connect("localhost","root","admin")){ echo"接続エラー"; exit; } // データベースを選択 if(!mysql_select_db("db_test",$con)){ echo"データベース選択エラー"; exit; } // SELECT文を実行 $id=(isset($_GET["id"]))?((int) $_GET["id"]):0; $sql = "SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`={$id}"; var_dump($sql); if(!$res=mysql_query($sql)){ echo "SQL実行時エラー"; exit; } // データの存在チェック if(!$row=mysql_fetch_array($res)){ $row=mysql_fetch_array($res); var_dump($row); echo "データが削除されています"; exit; } // 入力画面の出力 echo "<form action=koushin.php method=post>"; echo "名前:<input type=text name=NAME value=\"" . $row['氏名'] . "\"> "; echo "住所:<input type=text name=ADDR value=" . $row['住所'] . "> "; echo "<input type=submit value=更新>"; echo "</form>"; // 結果セットの解放 mysql_free_result($res); // データベースから切断 mysql_close($con); ?> </body> </html> どこが原因なんでしょうか?

    • ベストアンサー
    • MySQL
  • データベース(MySQL)のテーブル更新について

    サッカーの試合データをテーブルに格納、それをサイトの管理画面から修正する為のプログラムで詳しい方にお聞きしたいことがあります。 テーブルの更新は下記サイトを参考にしました。 http://ponk.jp/php/basic/php_mysql#page_index4 「udon_update.php」の箇所で頓挫しています。 流れとしましては試合ID(game_id)を受け取り、「members」テーブルから交代ID(change_id)があるものだけを抽出。 その交代IDを元に「change」テーブルから交代選手のIDを取得、「player」テーブルから選手名を取得してテキストフィールドに表示する。 主なテーブルは下記の通りです。 □player_table(所属選手のデータを格納) player_id|last_name|first_name 00818|田中|太郎 00815|山田|健太 00812|佐藤|真一 □membersテーブル(スタメン選手・控え選手・交代情報などを格納) game_id|player_id|entry|change_id| 001115|00818|start|0000001 001115|00815|start|null 001115|00812|sub|0000001 □changeテーブル(交代選手を格納) change_id|player_in_id |player_out_id |change_time |change_time_at 0000001|00818|00812|65|3 下記が現在のコードです。 -------------------------------------------------------------------------- <?php //player_idを受け取りplayerテーブルから選手名を照会 function player_inquiry($player_id){ global $pdo; global $last_name; global $first_name; $st = $pdo->query("SELECT * FROM player WHERE player_id=$player_id"); while ($row = $st->fetch()) { $last_name = htmlspecialchars($row['last_name']); $first_name = htmlspecialchars($row['first_name']); } return; } //メンバーテーブル(members)から交代データ取得 $st = $pdo->prepare("SELECT * FROM members WHERE change_id NOT LIKE NULL AND game_id=$game_id"); $st->execute(array($game_id)); while ($row = $st->fetch()) { $change_id = htmlspecialchars($row['change_id']); //change_idを元に交代テーブル(change)からデータ取得 $st = $pdo->prepare("SELECT * FROM change WHERE change_id=$change_id"); $st->execute(array($change_id)); $row = $st->fetch(); $change_time = htmlspecialchars($row['change_time']); $change_time_at = htmlspecialchars($row['change_time_at']); $change_reason = htmlspecialchars($row['change_reason']); print $change_time; player_inquiry($row['player_in']); ?> <input type="text" style="width:25px;ime-mode:inactive;" maxlength="2" name="change_time">分/AT<input type="text" style="width:25px;ime-mode:inactive;" maxlength="2" name="change_time">分<br> OUT<input type="text" style="width:120px;" name="last_name" value="<?php echo $last_name ?>"> <input type="text" style="width:120px;" name="first_name" value="<?php echo $first_name ?>"><br> <?php player_inquiry($row['player_out']); ?> IN<input type="text" style="width:120px;" name="last_name" value="<?php echo $last_name ?>"> <input type="text" style="width:120px;" name="first_name" value="<?php echo $first_name ?>"> <?php } ?> -------------------------------------------------------------------------- このコードで実行しても何も取得されません。どのように変更すればデータが取得できるようになるでしょうか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう