-1
我想做一個python文件,連接到我的小型數據庫,將檢索溫度和溼度取決於在html表單中設置的日期和時間。從python獲取數據從sqlite
<script>
$(function() {
$("#dateValue").datepicker();
});
</script>
</head>
<body>
<form name="myForm" method="post" action="/cgi-bin/script1.py">
<p>Date: <input type="text" name="dateValue" id="dateValue"></p>
<p>Time: <select name="timeValue" id="timeValue">
<option value="0">--All Day--</option>
<option value="01">1am</option>
<option value="02">2am</option>
<option value="03">3am</option>
<option value="04">4am</option>
<option value="05">5am</option>
<option value="06">6am</option>
<option value="07">7am</option>
<option value="08">8am</option>
<option value="09">9am</option>
<option value="10">10am</option>
<option value="11">11am</option>
<option value="12">12am</option>
<option value="13">1pm</option>
<option value="14">2pm</option>
<option value="15">3pm</option>
<option value="16">4pm</option>
<option value="17">5pm</option>
<option value="18">6pm</option>
<option value="19">7pm</option>
<option value="20">8pm</option>
<option value="21">9pm</option>
<option value="22">10pm</option>
<option value="23">11pm</option>
<option value="24">12pm</option>
</select>
<input type="submit" value="Enter"/>
</form>
所以一旦輸入數據他們應該連接到一個數據庫,其名稱爲readings.db並連接到的具有以下結構的表天氣
ID dateReading timeReading 溫度 溼度
如何連接到數據庫僅檢索窗體中選定日期和時間的溫度和溼度。我如何做到這一點,如果他們選擇了上午10點它選擇所有的溫度和溼度在上午10點,從上午10點到上午11點類型的東西。並且如果那時沒有數據庫中的日期或時間,則表示沒有找到日期和時間的數據。
這是我的腳本到目前爲止
#!/usr/bin/python
import sqlite3 as lite
import sys
import cgi, cgitb
form = cgi.FieldStorage()
dateValue = form.getvalue('dateValue')
timeValue = form.getvalue('timeValue')
con = lite.connect('readings.db')
with con:
cur = con.cursor()
cur.execute('SELECT temperature, humidity FROM weather WHERE dateReading = dataValue AND timeReading = timeValue')
rows = cur.fetchall()
for row in rows:
print row
print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Hello - CGI Program</title>"
print "</head>"
print "<body>"
print "<h2>received from the form %s %s</h2>" % (dateValue, timeValue)
print "</body>"
print "</html>"
最後豆蔻位更是一個測試,以確保我是從根據您的意見形式
它,而取決於如何將數據如何存儲在數據庫中,如果它在日期時間格式,你將不得不選擇DATEVALUE轉換成您可以使用它之前的相同類型。如果你爲表'weather'顯示數據庫模式(結構)並且說datevalue是python datetime對象,或者至少告訴我們它是如何表示的,這可能會有所幫助。顯然時間是一個數字字符串。 –
數據庫中的數據結構與表格 –
收到的結構相同。在數據庫中,'dateReading'定義爲'datetime','int','text'等,並且'timeReading'定義爲'int' ,「浮動」,「文字」?這很重要,因爲你必須像like一樣比較。對於輸入數據,嘗試輸出'type(dateValue)'和'type(timeValue)'的值,它會告訴你它們是如何被接收的。一旦你知道了輸入數據和數據庫中的兩個項目的數據類型,你就有機會實現你的目標。 –