2013-12-19 3 views
1

검색 상자가있는 CGI 웹 페이지를 만들었습니다. 내 스크립트는 검색 상자의 입력을 사용하여 sqlite 데이터베이스를 쿼리합니다.sqlite 데이터베이스 쿼리의 결과 표시

는 지금, 나는 (내 웹 페이지에) 검색과 일치하는 행의 모든 ​​열을 표시하려면,하지만 그렇게되면 다음

query = raw_input(desc) 
query = '%' + query + '%' 
cursor.execute("SELECT * from Table WHERE Column LIKE ?", (query,)) 
print cursor.fetchall 

웹 페이지는 조회 자체 표시 - 결과가 없습니다에서를 데이터베이스

어떻게 결과를 표시 할 수 있습니까?

+0

당신은 실제로 fetchall' 만 그것을 참조하지'호출해야합니다. – Hyperboreus

답변

2

전화cursor.fetchall(); 당신은 단지 달리 방법의 표현을 표시됩니다

print cursor.fetchall() 

다음은 아무것도 표시되지 않는 이유는 파이썬의 메소드 객체의 표현이 HTML 태그처럼, 꺾쇠 괄호를 사용하기 때문이다

>>> print c.fetchall 
<built-in method fetchall of sqlite3.Cursor object at 0x11059d9d0> 

브라우저가 <built-in> HTML 태그에 대해 알지 못하고 그냥 표시하지 않습니다.

당신은 결과와 실제 테이블을 만들 수 있습니다 :

cursor.execute("SELECT * from Table WHERE Column LIKE ?", (query,)) 
print '<table>' 

for row in cursor: 
    print '<tr>{}</tr>'.format(''.join(['<td>{}</td>'.format(col) for col in row])) 

print '</table>' 
+0

이 테이블을 만들면 좋을 것입니다! 하지만 내 fetchall 명령을 당신이 제안한 테이블 명령으로 대체하려고 시도했는데 나는 여전히 쿼리 자체를 화면에 표시하고있다. –

+0

전체 스크립트 소스 코드가 표시되지 않는다면 질문이나 내 대답의 코드가 SQL 쿼리를 표시하지 않습니다. 스크립트의 * 모든 변경 사항이 브라우저에 표시됩니까? 올바른 파일이 여기에 바뀌 었다고 확신합니까? –

+0

잘못된 용어를 사용했다고 생각합니다. 사이트의 검색 창에 입력 된 내용을 표시합니다. 그래서 상자에 "Gene"이라고 입력하면 결과에 "Gene"이 표시됩니다. –

관련 문제