ติดต่อ database ไม่ได้ครับ

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
teenproza7
PHP Super Member
PHP Super Member
Posts: 204
Joined: 13/05/2019 10:03 am

ติดต่อ database ไม่ได้ครับ

Postby teenproza7 » 23/05/2019 4:41 pm

ผมติดต่อ database ไม่ได้ครับ ดังภาพ

Image

แต่พอไปดูหน้า show ตารางมาแล้วแต่ข้อมูลยังไม่มา

Image



code

Code: Select all

@app.route('/show')
def show():
    try:
        con = p.connect(host='127.0.0.1', database='miniproject', user='postgres', password='', port='5432')
        cur = con.cursor()
        sql = "SELECT * FROM genpdf ORDER BY id DESC LIMIT 10"
        sql = sql.encode('utf-8')
        cur.execute(sql)
        rows = cur.fetchall()
        for row in rows:
            name = row[0]
            des = row[1]

    except p.DatabaseError:
             print ('Error %s' % p.DatabaseError)

    return render_template("show.html")


html

Code: Select all

<meta charset="UTF-8">

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>แสดงข้อมูล</title>
</head>
   <body>
      <table border="1" 1cellspacing="5" width="80%" height="5" align="center">
            <a href = "/">กลับหน้าหลัก</a>
         <thead>
            <td align="center">ID</td>
            <td align="center">ชื่อไฟล์</td>
            <td align="center">คำอธิบาย</td>

            <td colspan="2" align="center" width="10%">เครื่องมือ</td>

         </thead>
             {% for row in rows %}
            <tr>

               <td>{{ row[0] }}</td>
               <td>{{ row[1] }}</td>
               <td>{{ row[2] }}</td>

               <td>  <form action="/iddel/{{ row[0] }}" method="post"> <input type="submit" value="ลบข้อมูล" /> </form></td>
                <td><form action="/enteredit/{{ row[0] }}" method="post"> <input type="submit" value="แก้ไข" /> </form></td>

            </tr>
         {% endfor %}
      </table>



   </body>
</html>
Image

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

Re: ติดต่อ database ไม่ได้ครับ

Postby tatiya » 23/05/2019 4:50 pm

ลองปริ้น ทุกบรรทัดดูครับว่ามันผิดที่บรรทัดไหน ผมแนะนำว่าตัว คอนเนกน่าจะเอามาไว้เป็นตัวแปร global นะครับ เวลาเรียกใช้ในเมตรอดอื่นจะได้ ไม่ต้องเขียน connect บ่อย เวลาใช้ก็แบบนี้ได้เลย

Code: Select all

sql = "SELECT * FROM genpdf ORDER BY id DESC LIMIT 10"
sql = sql.encode('utf-8')
cur.execute(sql)
rows = cur.fetchall()


ว่าแต่ตัวแปร rows ได้ค่าอะไรมาครับลองปริ้นดูหรือยังครับ มันเป็นตัวแปร list หรือ dict ลอง
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

User avatar
teenproza7
PHP Super Member
PHP Super Member
Posts: 204
Joined: 13/05/2019 10:03 am

Re: ติดต่อ database ไม่ได้ครับ

Postby teenproza7 » 23/05/2019 5:34 pm

tatiya wrote:ลองปริ้น ทุกบรรทัดดูครับว่ามันผิดที่บรรทัดไหน ผมแนะนำว่าตัว คอนเนกน่าจะเอามาไว้เป็นตัวแปร global นะครับ เวลาเรียกใช้ในเมตรอดอื่นจะได้ ไม่ต้องเขียน connect บ่อย เวลาใช้ก็แบบนี้ได้เลย

Code: Select all

sql = "SELECT * FROM genpdf ORDER BY id DESC LIMIT 10"
sql = sql.encode('utf-8')
cur.execute(sql)
rows = cur.fetchall()


ว่าแต่ตัวแปร rows ได้ค่าอะไรมาครับลองปริ้นดูหรือยังครับ มันเป็นตัวแปร list หรือ dict ลอง



ปริ้นแล้วได้แบบนี้ครับ
Image
Image

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

Re: ติดต่อ database ไม่ได้ครับ

Postby tatiya » 23/05/2019 5:38 pm

ขอดู code ในหน้า python ทั้งหมดหน่อยครับ ก็อปมาวางเลย
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

User avatar
teenproza7
PHP Super Member
PHP Super Member
Posts: 204
Joined: 13/05/2019 10:03 am

Re: ติดต่อ database ไม่ได้ครับ

Postby teenproza7 » 23/05/2019 6:08 pm

tatiya wrote:ขอดู code ในหน้า python ทั้งหมดหน่อยครับ ก็อปมาวางเลย


#-*- coding=utf-8 -*-
from flask import Flask
from flask import render_template
from flask import request
from flask import redirect
from flask import url_for
import psycopg2 as p


app = Flask(__name__)

con = p.connect(host='127.0.0.1', database='miniproject', user='postgres', password='', port='5432')
cur = con.cursor()




@app.route('/')
def index():
return render_template('index.html')

@app.route('/', methods=['POST', 'GET'])
def addcode():
try:


if request.method == 'POST':

name = request.form['filename']
code = request.form['rmlcode']
des = request.form['description']

sql = "insert into genpdf (filename, rmlcode, description) values ('%s','%s','%s')" % (name, code, des)
sql = sql.encode('utf-8')
try:
cur.execute(sql)
con.commit()
print ('เพิ่มข้อมูล เรียบร้อยแล้ว')

except:
con.rollback()
print('เพิ่มข้อมูล ผิดพลาด')

except:
print ('database Error')

return redirect(url_for('index'))



@app.route('/show')
def show():
try:
sql = "SELECT * FROM genpdf ORDER BY id DESC LIMIT 10"
sql = sql.encode('utf-8')
try:
cur.execute(sql)
con.commit()
print ('ติดต่อฐานข้อมูลได้แล้ว')

except:
con.rollback()
print('ติดต่อฐานข้อมูลไม่ได้')

result = cur.fetchall()

for row in result:
name = row[0]
des = row[1]
print result
except p.DatabaseError:
print ('Error %s' % p.DatabaseError)

return render_template("show.html")

app.run(debug=True)
Image

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

Re: ติดต่อ database ไม่ได้ครับ

Postby tatiya » 23/05/2019 6:23 pm

ลองดูครับ

Code: Select all

#-*- coding=utf-8 -*-
from flask import Flask
from flask import render_template
from flask import request
from flask import redirect
from flask import url_for
import psycopg2 as p


app 
= Flask(__name__)

con = p.connect(host='127.0.0.1', database='miniproject', user='postgres', password='', port='5432')
cur = con.cursor()


@
app.route('/')
def index():
    return render_template('index.html')

@
app.route('/', methods=['POST', 'GET'])
def addcode():
    try:


        if request.method == 'POST':

            name = request.form['filename']
            code = request.form['rmlcode']
            des = request.form['description']

            sql = "insert into genpdf (filename, rmlcode, description) values ('%s','%s','%s')" % (name, code, des)
            sql = sql.encode('utf-8')
            try:
                cur.execute(sql)
                print ('เพิ่มข้อมูล เรียบร้อยแล้ว')

            except:
                con.rollback()
                print('เพิ่มข้อมูล ผิดพลาด')

    except:
        print ('database Error')

    return redirect(url_for('index'))



@
app.route('/show')
def show():
    try:
        sql = "SELECT * FROM genpdf ORDER BY id DESC LIMIT 10"
        sql = sql.encode('utf-8')
        try:
            cur.execute(sql)
            con.commit()
            print ('ติดต่อฐานข้อมูลได้แล้ว')

        except:
            con.rollback()
            print('ติดต่อฐานข้อมูลไม่ได้')

        result = cur.fetchall()

        for row in result:
            name = row[0]
            des = row[1]
        print result
    except p
.DatabaseError:
        print ('Error %s' % p.DatabaseError)

    return render_template("show.html")

app.run(debug=True
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21816
Joined: 22/09/2008 6:18 pm
Contact:

Re: ติดต่อ database ไม่ได้ครับ

Postby mindphp » 25/05/2019 3:34 am

กระทู้นี้ ยังมีปัญหา อยู่ไหมครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

User avatar
teenproza7
PHP Super Member
PHP Super Member
Posts: 204
Joined: 13/05/2019 10:03 am

Re: ติดต่อ database ไม่ได้ครับ

Postby teenproza7 » 25/05/2019 10:26 am

mindphp wrote:กระทู้นี้ ยังมีปัญหา อยู่ไหมครับ


ได้แล้วครับ

Code: Select all

@app.route('/show')
def show():


        sql = "SELECT * FROM genpdf ORDER BY fileid,filename,description DESC LIMIT 20"
        sql = sql.decode('utf8')
        cur.execute(sql)
        rows = cur.fetchall()


        return render_template("show.html", rows=rows)


sql = "SELECT * FROM genpdf ORDER BY fileid,filename,description DESC LIMIT 20"

ต้องเปลี่ยนตรงนี้ครับ ให้ตรงกับ คอลัมน์ในฐานข้อมูลครับ
Image


Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 12 guests