ご教授宜しくお願い致します。
現在、顧客管理画面を作成しております。
ブラウザで表示されたデータの編集・削除をしたく、表の中に「編集ボタン」「削除ボタン」を
作り、そのボタンを押すと該当のデータが編集できるようにしたいと思っています。
「編集」「削除」ボタンをクリックしたときに、表の左にある「顧客No.」に反映させる方法を
お教えいただきたく質問させていただきます。
↓が上の表です
table.php
1//DB接続しています 2 3print '<table border ="" width = "90%"> 4<th height="20">顧客No.</th> 5<th>氏名</th> 6<th>電話番号</th> 7<th>コメント</th> 8<th>編集/削除</th>';//表のためのテーブルを作成 9 10 while($rec = $stmt->fetch(PDO::FETCH_ASSOC)){ 11 12 $customer = $rec['customer']; 13 $name = $rec['name']; 14 $tel = $rec['tel']; 15 $comment = $rec['comment']; 16 17 18 print '<tr>'; 19 print '<td align="center"> . $customer .'</td>'; 20 print "<td align='center'> $name 様</td>"; 21 print '<td align="center">'. $tel .'</td>'; 22 print '<td>'. $comment .'</td>'; 23 print '<td>' ?> 24 <form action="edit.php" method="GET">//編集画面へ 25 <input type="submit" name="edit" value="編集"></form> 26 <form action="delete.php" method="GET">//削除画面へ 27 <input type="submit" name="delete" value="削除"></form><?php '</td>'; 28 print '</tr>'; 29 } 30print '</table>';
編集画面
edit.php
1<form action="confi.php" method="POST"> 2 <b>顧客No.:</b><br> 3 <input type="int" name="customer" size="10" ><br> 4 <b>氏名:</b><br> 5 <input type="text" name="name" size="20" placeholder="カタカナで入力ください"><br> 6 <b>電話番号:</b><br> 7 <input type="tel" name="tel" size="20" placeholder="ハイフンも入力ください"><br> 8 <b>コメント:</b><br> 9 <textarea name="comment" rows="5" cols="40" placeholder="特徴などを記入ください"></textarea> 10 11 <input type="submit" value="編集内容を送信"> 12 <input type="submit" value="戻る" action="table.php"> 13</form>
ボタンと顧客No.の反映のさせ方がわからず、顧客No.も入力する形にしています
ここで内容を編集(テーブル「cm1」にUPDATE)
confi.php
1 $customer = htmlspecialchars($_POST['customer']); 2 $name = htmlspecialchars($_POST['name']); 3 $tel = htmlspecialchars($_POST['tel']); 4 $comment = htmlspecialchars($_POST['comment']); 5 6 7try{//DB接続 8 $pdo = new PDO(";","",""); 9 $pdo ->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); 10 11 $sql = "UPDATE cm1 SET name = $name, tel = $tel, comment = $comment WHERE customer = $customer "; 12 $stmt = $pdo->prepare($sql);//sql文の実行 13 $stmt ->bindparam(0,$customer,PDO::PARAM_INT); 14 $stmt ->bindparam(1,$name,PDO::PARAM_STR); 15 $stmt ->bindparam(2,$tel,PDO::PARAM_STR); 16 $stmt ->bindparam(3,$comment,PDO::PARAM_STR); 17 $stmt ->execute(); 18 $id = $pdo->lastinsertid(); 19 20 }catch (PDOException $e){ 21 print "データベースエラー"; 22 var_dump($e->getMessage()); 23 throw $e; 24 }
丸投げな質問であることは承知しておりますが、どうしてもわからず質問させていただきました。
簡単なアドバイスでもヒントでもいただけましたら幸いです。
何卒、よろしくお願い致します。
(追記)table.php(入力画面)→kakunin.php(確認画面)→table.phpに戻る(表示画面)
table.php
1<!DOCTYPE html> 2<html> 3<head> 4 <title>顧客管理画面1</title> 5 <link rel="stylesheet" type="text/css" href="cms.css"> 6</head> 7<body> 8 9<div class="aaa"> 10<h1 align="center">【顧客管理1】</h1> 11<h2>[顧客追加]</h2> 12 13<form action="kakunin.php" method="POST"> 14<b>氏名:</b><br> 15<input type="text" name="name" size="20" placeholder="カタカナで入力ください"><br> 16<b>電話番号:</b><br> 17<input type="tel" name="tel" size="20" placeholder="ハイフンも入力ください"><br> 18<b>コメント:</b><br> 19<textarea name="comment" rows="5" cols="40" placeholder="特徴などを記入ください"></textarea><br> 20<input type="submit" value="追加"> 21<input type="reset" value="修正"> 22</form> 23<br> 24<br> 25 26<?php 27 28try{//DBに接続 29 $pdo = new PDO(";","",""); 30 $pdo ->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); 31 $pdo->beginTransaction(); 32 $sql = 'SELECT * from cm1';//sql文の準備、cm1テーブルからデータを取得 33 34 $stmt = $pdo->query($sql);//sql文の実行 35 $stmt -> execute(); 36 37print '<table border ="" width = "90%"> 38<th height="20">顧客No.</th> 39<th>氏名</th> 40<th>電話番号</th> 41<th>コメント</th> 42<th>編集/削除</th>';//表のためのテーブルを作成 43 44 while($rec = $stmt->fetch(PDO::FETCH_ASSOC)){//クエリ結果を1行ずつ取得して連想配列として返す、をwhile文でループさせる 45 46 $customer = $rec['customer']; 47 $name = $rec['name']; 48 $tel = $rec['tel']; 49 $comment = $rec['comment']; 50 51 52 print '<tr>'; 53 print '<td align="center">' . $customer .'</td>'; 54 print "<td align='center'> $name 様</td>"; 55 print '<td align="center">'. $tel .'</td>'; 56 print '<td>'. $comment .'</td>'; 57 print '<td>' ?> 58 59 <form action="edit.php" method="GET">//編集画面へ 60 <input type="submit" name="edit" value="編集"></form> 61 <form action="delete.php" method="GET">//削除画面へ 62 <input type="submit" name="delete" value="削除"></form><?php '</td>'; 63 print '</tr>'; 64 } 65print '</table>'; 66 67}catch (PDOException $e) { 68 echo mb_convert_encoding($e->getMessage(),'UTF-8','SJIS-win'); 69} 70$pdo = null; 71 72</body> 73</html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/11 04:33
退会済みユーザー
2018/04/11 04:59
2018/04/11 05:06 編集
退会済みユーザー
2018/04/11 06:40