2013-08-12 4 views
-1

db 테이블에서 모든 데이터 행을 가져 오는 다음 함수가 있습니다. 내 코드에서 $row$data으로 가져 오는 것이 확실하지 않은 부분을 제외하고 모두 괜찮은 것처럼 보입니다. 명시 적으로 가져 오기 모드를 설정하지 않았으므로 배열 객체가 fetch() 호출에서 반환 될 것으로 예상됩니다.테이블에 데이터 표시

function getAll() 
{ 
    $data = array(); 

    try 
    { 
     $conn = new PDO('mysql:host=localhost;dbname=pdo', 'root', ''); 
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

     $stmt = $conn->prepare('SELECT * FROM pdo_table'); 
     $stmt->execute(); 

     while($row = $stmt->fetch()) 
     { 
      $data = $row; 
     } 
    } 
    catch (PDOException $e) 
    { 
     echo 'Error: ' . $e->getMessage(); 
    } 

    return $data; 
} 

지금, 나는 HTML 테이블에서 반환 된 $data 에코 별도의 인덱스 페이지가 있습니다. 먼저 해당 함수를 포함하는 PHP 페이지에 대한 참조를 추가 한 다음 반환 된 배열을 $results이라는 다른 변수에 할당했습니다.

<?php foreach($results as $row) { ?> 
    <tr> 
     <td><?php echo $row['id'] ?></td> 
     <td><?php echo $row['Date'] ?></td> 
     <td><?php echo $row['name'] ?></td> 
     <td><?php echo $row['company'] ?></td> 
     <td><?php echo $row['email'] ?></td> 
     <td><?php echo $row['phone'] ?></td> 
     <td><?php echo $row['interest'] ?></td> 
     <td><?php echo $row['message'] ?></td>    
    </tr> 
<?php } ?> 

나는 단지 하나 개의 행이 순간에 삽입했지만이 원하는 enter image description here

+2

'$ data = $ row;'가'$ data [] = $ row;'가 될것이다. –

+0

@Akam 멋진 catch는 일부 detials와 함께 답으로 게시 해주십시오. –

+0

나는'$ data = array ', 당신이 루프에서 제안한대로 그것을 만들 필요가 있습니까? –

답변

-3

변화는 하나의 명령문만을

  $stmt->execute(); to 


    $result= $stmt->query($statement); 
     to fetch data 
     and process result set in following way 
    while($row=$result->fetch()) 
     { 
     <tr> 
    <td><?php echo $row['id'] ?></td> 
    <td><?php echo $row['Date'] ?></td> 
    <td><?php echo $row['name'] ?></td> 
    <td><?php echo $row['company'] ?></td> 
    <td><?php echo $row['email'] ?></td> 
    <td><?php echo $row['phone'] ?></td> 
    <td><?php echo $row['interest'] ?></td> 
    <td><?php echo $row['message'] ?></td>    
</tr> 

}

투표로 테이블에 결과를 채우지 않습니다 나 고마워.

+0

"[당신]"투표 하시겠습니까? 확실한! -1 –

1

알트 당신의 목표가 맞다면 구현에 결함이있을 수 있습니다.

는 적절한 코드

:

function getAll($conn, $sql, $data = $array()) 
{ 
    $stmt = $conn->prepare($sql); 
    $stmt->execute($data); 
    return $stmt->fetchAll(); 
} 

당신 이 기능 만 사용하는 사이트 전체 연결에을 연결하지해야이 기능은 임의의 쿼리를 받아 들일 수뿐만 아니라 경계해야
일단 를 설립 그것에 대한 데이터
그리고 예외를 잡는 것에 대한 아이디어는 잘못되었습니다.

관련 문제