質問するログイン新規登録

回答編集履歴

1

プログラムを追加

2021/03/07 07:46

投稿

noizi.
noizi.

スコア27

answer CHANGED
@@ -38,4 +38,66 @@
38
38
  }
39
39
  $dbh = null;
40
40
  ?>
41
+ ```
42
+
43
+ ```整理版
44
+ <?php
45
+ function db_access($db){
46
+ try{
47
+ $dsn = 'mysql:dbname=example;host=localhost';
48
+ $user = 'root';
49
+ $password = 'shapshap';
50
+ $dbh = new PDO($dsn, $user, $password);
51
+ $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
52
+ switch($db){
53
+ case 'search':
54
+ echo '<select name="C_num">';
55
+ $query = $dbh->query('select C_nm from example');
56
+ while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
57
+ echo '<option value="'.$row['C_nm'].'">'.$row['C_nm'].'</option>';
58
+ }
59
+ echo '</select>';
60
+ $result = $row;
61
+ break;
62
+
63
+ case 'search_ans';
64
+ if (isset($_POST['C_num'])){
65
+ $get_C_nam[] = $_POST['C_name'];
66
+ $get_C_nm[] = $_POST['C_num'];
67
+ $get_C_phn[] = $_POST['C_phon'];
68
+ $get_C_add[] = $_POSt['C_add'];
69
+ }
70
+ else
71
+ {
72
+ $C_nm = $_GET['C_num'];
73
+ $sql = 'select * from example where C_nm= '.$C_nm.'';
74
+ foreach ($dbh->query($sql) as $row) {
75
+ $get_C_nam[] = $row['C_nam'];
76
+ $get_C_nm[] = $row['C_nm'];
77
+ $get_C_phn[] = $row['C_phn'];
78
+ $get_C_add[] = $row['C_add'];
79
+ }
80
+ }
81
+ $result = [$get_C_nam, $get_C_nm, $get_C_phn, $get_C_add];
82
+ break;
83
+
84
+ case 'search_fix_a';
85
+ $stmt = $dbh->prepare('UPDATE example SET C_nam = :C_nam, C_nm = :C_nm, C_phn = :C_phn, C_add = :C_add WHERE example.C_nm = :C_nm');
86
+ $stmt->execute(array(':C_nam' => $_POST['C_name'], ':C_nm' => $_POST['C_num'], ':C_phn' => $_POST['C_phon'], ':C_add' => $_POST['C_sa']));
87
+ break;
88
+
89
+ default:
90
+ break;
91
+ }
92
+ }
93
+ catch (PDOException $e){
94
+ print('Error:'.$e->getMessage());
95
+ die();
96
+ }
97
+ if(isset($result)==true){
98
+ return $result;
99
+ }
100
+ $dbh = null;
101
+ }
102
+ ?>
41
103
  ```