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

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

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

teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

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

รูปภาพ

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

รูปภาพ



code

โค้ด: เลือกทั้งหมด

@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

โค้ด: เลือกทั้งหมด

<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>
รูปภาพ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

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

โค้ด: เลือกทั้งหมด

sql = "SELECT * FROM genpdf ORDER BY id DESC LIMIT 10"
sql = sql.encode('utf-8')
cur.execute(sql)
rows = cur.fetchall()
ว่าแต่ตัวแปร rows ได้ค่าอะไรมาครับลองปริ้นดูหรือยังครับ มันเป็นตัวแปร list หรือ dict ลอง
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

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

โค้ด: เลือกทั้งหมด

sql = "SELECT * FROM genpdf ORDER BY id DESC LIMIT 10"
sql = sql.encode('utf-8')
cur.execute(sql)
rows = cur.fetchall()
ว่าแต่ตัวแปร rows ได้ค่าอะไรมาครับลองปริ้นดูหรือยังครับ มันเป็นตัวแปร list หรือ dict ลอง

ปริ้นแล้วได้แบบนี้ครับ
รูปภาพ
รูปภาพ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

ขอดู code ในหน้า python ทั้งหมดหน่อยครับ ก็อปมาวางเลย
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

tatiya เขียน:ขอดู 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)
รูปภาพ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

ลองดูครับ

โค้ด: เลือกทั้งหมด

#-*- 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) 
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

กระทู้นี้ ยังมีปัญหา อยู่ไหมครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

mindphp เขียน:กระทู้นี้ ยังมีปัญหา อยู่ไหมครับ
ได้แล้วครับ

โค้ด: เลือกทั้งหมด

@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"

ต้องเปลี่ยนตรงนี้ครับ ให้ตรงกับ คอลัมน์ในฐานข้อมูลครับ
รูปภาพ
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 92