본문 바로가기
MySql

MySQL foreach를 사용하여 데이터베이스 테이블에서 데이터를 가져 오는 방법-

by 베이스 공부 2020. 11. 21.
반응형

내 데이터베이스에는 열 이름이 project_num, project_status, project_name tblprojects 라는 테이블이 있습니다. foreach 루프를 사용하여 데이터베이스에서 데이터를 가져오고 PHP 테이블에 레코드를 표시하고 싶습니다.

그러나 다음 코드로 레코드를 표시 할 수 없습니다. 그것을 수정하는 데 도움을주세요. PHP 사용이 처음입니다.

다음은 내가 작성한 코드입니다.

<?php
     $projects = array();
     // fetch data from the database
     $records = mysql_query('select project_num, project_status, project_name from tblprojects') or die("Query fail: " . mysqli_error());
?>


<table  class="table table-striped table-condensed" id="tblData">
    <thead>
        <tr>
            <th>Project Name</th>
            <th>Project Number</th>
            <th>Project Status</th>
       </tr>
    </thead>

    <tbody>
       <?php 
            while (  $row =  mysql_fetch_assoc($records)    )
            {
                $projects[] = $row;
                foreach ($projects as $project):
      ?>
        <tr>
            <td><?echo $project['proj_name']; ?></td>
            <td><?echo $proj['proj_num']; ?></td>
            <td><?echo $proj['proj_status']; ?></td>
        </tr>

      <?php endforeach; 
           }
      ?>


    </tbody>        
</table>

문제 해결에 도움을 주시고 수정 된 코드 (선호)로 회신하십시오. 많은 감사드립니다.

 

해결 방법

 

여기에는 foreach 가 필요하지 않습니다.

<?php 
    $projects = array();
    while ($project =  mysql_fetch_assoc($records))
    {
        $projects[] = $project;
    }
    foreach ($projects as $project)
    {
?>
    <tr>
        <td><?php echo $project['proj_name']; ?></td>
        <td><?php echo $project['proj_num']; ?></td>
        <td><?php echo $project['proj_status']; ?></td>
    </tr>
<?php
    }
?>

 

참조 페이지 https://stackoverflow.com/questions/29968425

 

 

반응형

댓글