質問編集履歴

1

現在までに作成したコードを掲載致しました。

2021/01/18 02:22

投稿

jyansinkai
jyansinkai

スコア66

test CHANGED
File without changes
test CHANGED
@@ -12,4 +12,158 @@
12
12
 
13
13
 
14
14
 
15
+ -追記-
16
+
17
+
18
+
19
+ まずinput.pyで各種情報を入力しますが、この中の「活動場所」に数字を入れた際、それを「basyoID」として認識し、basyo.dbに入っているデータから「basyoNAME」を検索、それを直ちに表示させたいのです。
20
+
21
+
22
+
23
+ input.pyがこちらです。
24
+
25
+
26
+
27
+ ```python
28
+
29
+ #!/usr/local/bin/python3
30
+
31
+ # -*- coding: utf-8 -*-
32
+
33
+
34
+
35
+ import sys
36
+
37
+ import io
38
+
39
+ import sqlite3
40
+
41
+ import cgi
42
+
43
+ import cgitb
44
+
45
+ cgitb.enable()
46
+
47
+ # 文字化け回避
48
+
49
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
50
+
51
+
52
+
53
+ # HTMLここから
54
+
55
+ #print("Content-type: text/html; charset=utf-8")
56
+
57
+ print('Content-Type: text/html; charset=UTF-8\n')
58
+
59
+ print(
60
+
61
+ """
62
+
63
+ <html lang="ja">
64
+
65
+ <head>
66
+
67
+ <meta charset="utf-8">
68
+
69
+ <TITLE></TITLE>
70
+
71
+ </HEAD>
72
+
73
+ <BODY>
74
+
75
+
76
+
77
+ <FORM name="form" method="post" action="basyo_kensaku.py">
78
+
79
+ <P>避難場所</P>
80
+
81
+ <P>活動場所ID</P>
82
+
83
+ <INPUT size="8" type="text" maxlength="8" required name="basyoID">
84
+
85
+ <P>上の入力フォームにIDを入力したら、この場所にbasyo.dbから検索した場所を表示させたいです。</P>
86
+
87
+ <BR>
88
+
89
+ </BODY>
90
+
91
+ </HTML>
92
+
93
+ """
94
+
95
+ )
96
+
97
+
98
+
99
+ # データベース接続
100
+
101
+ conn = sqlite3.connect('basyo.db')
102
+
103
+ c = conn.cursor()
104
+
105
+ # テーブル作成
106
+
107
+ c.execute('CREATE TABLE IF NOT EXISTS basyo(basyoID integer, basyoNAME text);')
108
+
109
+
110
+
111
+ ```
112
+
113
+ 続いて、場所を検索させるbasyo_kensaku.pyがこちらです。
114
+
115
+ ```python
116
+
117
+ #!/usr/local/bin/python3
118
+
119
+ # -*- coding: utf-8 -*-
120
+
121
+
122
+
123
+ import sys
124
+
125
+ import io
126
+
127
+ import sqlite3
128
+
129
+ import cgi
130
+
131
+ import cgitb
132
+
133
+ cgitb.enable()
134
+
135
+
136
+
137
+ # 文字化け回避
138
+
139
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
140
+
141
+
142
+
143
+ # データベースに接続する
144
+
145
+ conn = sqlite3.connect('basyo.db')
146
+
147
+ c = conn.cursor()
148
+
149
+
150
+
151
+ #formにセットされた値を取得
152
+
153
+ form = cgi.FieldStorage()
154
+
155
+ basyoID = form.getfirst('basyoID','')
156
+
157
+ #basyoIDでbasyo.dbを検索
158
+
159
+ sql = ('SELECT basyoNAME from basyo where basyoID=' + basyoID)
160
+
161
+ c.execute(sql)
162
+
163
+ basyoNAME = c.fetchone
164
+
165
+ ```
166
+
167
+
168
+
15
169
  以上、何卒ご教授下さいませ。