2014-11-30 2 views
-2

테이블로 인쇄하려고하지만 PDO 사용 방법을 모르겠습니다. 내 시도를 Heres. PDO 테이블에 출력 인쇄

 <div class="table-responsive"> 
    <table class="table table-bordered table-striped table-hover table-condensed"> 
     <thead> 
     <tr> 
     <th>Modules from Current Course</th> 
     <th>Modules from New Course</th> 

    <th colspan="3"></th> 
    </tr> 
</thead> 
    <tbody> 

require_once('connect.php'); 
$sql = "SELECT CourseID, Module_Name,ModuleID, Module_Code, Module_Year FROM 
coursemodule ORDER BY ModuleID ASC"; 
$stmt = $db->prepare($sql); 
$stmt->bindParam(':ModuleID', $CourseID, PDO::PARAM_INT); 
$stmt->execute(); 
while ($output = $stmt->fetch(PDO::FETCH_OBJ)) { 
    echo "<p>" . $output->Module_Name . " " . $output->Module_Code . "</p>\n"; 

} 

은 내가 다음 쿼리에서 데이터를 저장하는 테이블에 그것을 밖으로 인쇄 할 필요가 알고 있지만 어떤 시도는 어디에도 이어질 없다. 누구든지 도와 줄 수 있습니까?

EDIT 최신 시도

try 
{ 
    $sql = "SELECT * FROM coursemodule WHERE ModuleID=?"; 
    $stmt = $db->prepare($sql); 
    $stmt->execute(array(
    $_POST['ModuleID'] 
)); 
$result = $stmt->fetchAll(); 
?> 
<h1>Course Modules</h1> 


<div class="table-responsive"> 
<table class="table table-bordered table-striped table-hover table-condensed"> 
<thead> 
    <tr> 
    <th>ID</th> 

<th colspan="3"></th> 
</tr> 

 <?php 
    foreach ($result as $row) 
    { 

     <tr> 
     <td>echo {$row['ModuleID']}</td> 

     <td> 


    } // End Foreach 
    ?> 
    </tbody> 
</table> 
</div> 

오류 받기 '구문 분석 오류 : 구문 오류, 예기치 않은'< ''표에 반향 내 시도와 관련.

+1

http://php.net/pdo.prepared-statements) 도움이 될 것이다. 또한 오류를 확인합니다. –

+0

테이블에 내용을 인쇄하려면 행과 열을 추가해야합니다. 현재 코드는 모듈 이름과 모듈 코드로 단락을 반향 출력합니다. 당신의 쿼리는 아무것도 반환하지 않습니까? 문제가 발생하는 곳은 어디입니까? – ymas

+0

@ymas querry가 작동 중이며 테이블 밖으로 잘 인쇄됩니다. 모듈 이름/코드를 저장 한 다음 테이블 클래스에서 다시 열어 인쇄하는 방법을 모르겠습니다. – mkra

답변

1

쿼리에 문제가 없으므로 테이블을 채우려면 행과 열을 추가해야합니다. 예를 들어, 당신은이 같은 작업을 수행 할 수 있습니다

<table class="table table-bordered table-striped table-hover table-condensed"> 
    <thead> 
    <tr> 
     <th>Modules from Current Course</th> 
     <th>Modules from New Course</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php foreach ($modules as $module): ?> 
    <tr> 
     <td><?php echo $module['Module_Name']; ?></td> 
     <td><?php echo $module['Module_Code']; ?></td> 
    </tr> 
    <?php endforeach; ?> 
    </tbody> 
</table> 

이 미래에 유지하는 악몽이 될 것입니다 (보기 코드를 넣어 습관은 당신이 을해야처럼 같은 장소에있는 SQL 문을 넣지 마십시오 아니 들어가). 내 솔루션에서는 쿼리의 결과 집합을 $modules이라는 변수에 할당한다고 가정합니다.

http://php.net/manual/en/pdostatement.fetchall.php

주 당신은 여러분의 필요에 내 조각을 적용해야합니다, 나는 당신에게 행과 함께 테이블을 채우기의 을 보여주는 해요 :

fetchAll에 대한 설명서를 참조하십시오 열.

업데이트 이 당신의 마지막 시도에서 테이블 생성 코드를 변경해보십시오 :

([수동 ** 읽기 **]
<div class="table-responsive"> 
    <table class="table table-bordered table-striped table-hover table-condensed"> 
    <thead> 
    <tr> 
     <th>ID</th> 
     <th colspan="3"></th> 
    </tr> 
    <tbody> 
    <?php foreach ($result as $row): ?> 
    <tr> 
     <td><?php echo $row['ModuleID']; ?></td> 
     <td colspan="3"> 
    </tr> 
    <?php endforeach; ?> 
    </tbody> 
    </table> 
</div> 
+0

추천 된 방식이 아니거나 제 코드 덕분에 고맙겠습니다. – mkra

+0

SQL과 HTML보기 코드를 함께 사용하는 것을 언급했습니다. 추천하지 않습니다. – ymas

+0

최근 시도에서 오류 메시지가 나타나는 이유는 PHP에서 직접 HTML을 삽입하고 내 대답을보고 코드에서이를 미러링하려고하기 때문입니다. – ymas