2017-01-16 2 views
0

私はCodeIgniterを使用していますが、<table>を入力して同じ行を4回取得しようとしています。 マイモデル:foreachが同じ行を4回返すcodeigniter

$sql2= 
    "SELECT * 
    FROM puntos 
    WHERE checklist_idchecklist='$idchecklist'"; 
    $qry2=$this->db->query($sql2); 
    $puntos=$qry2->row(); 
    return $puntos 

このクエリは、私はそれがphpMyAdminの上のSQLクエリをやってテストした、4つの属性ごとの2つの配列を返します。

マイコントローラ:

function verpuntos() { 
    $this->load->model('checklistm'); 
    $puntos=$this->checklistm->obtenerpuntos(); 
    $this->load->view('plantilla/headerguardia'); 
    $this->load->view('checklist/lista', $puntos); 
    $this->load->view('plantilla/footer'); 
} 

マイビュー:

$punto=array(
    'descripcion' => $descripcion, 
    'lugar' => $lugar, 
    'tipo' => $tipo, 
    'urgencia' => $urgencia); 

    <table class="table"> 
     <thead> 
      <tr> 
       <th>Descripcion</th> 
       <th>Lugar</th> 
       <th>Tipo</th> 
       <th>Urgencia</th> 
      </tr> 
     </thead> 
     <tbody> 
      <?php foreach($punto as $row) { 
       echo '<tr>'; 
        echo '<td>'.$descripcion.'</td>'; 
        echo '<td>'.$lugar.'</td>'; 
        echo '<td>'.$tipo.'</td>'; 
        echo '<td>'.$urgencia.'</td>'; 
       echo '</tr>'; 
      } 
      ?> 
     <tbody> 
    </table> 

そして、これは私が4回、同じ行を取得していますものです:
And this is what I'm getting, the same row 4 times

答えて

0
<table class="table"> 
<tr> 
<th>Descripcion</th> 
<th>Lugar</th> 
<th>Tipo</th> 
<th>Urgencia</th> 
</tr> 
</thead> 
<tbody> 
    <?php 
     echo '<tr>'; 
     foreach($punto as $row) 
     { 
     echo '<td>'.$row.'</td>'; 
     } 
     echo '</tr>'; 
    ?> 
</tbody> 
<table> 
0

でcodeigniter row() objeの最初の行をフェッチするctフォーマット。 $puntos=$qry2->row();このステートメントは、オブジェクトfromat内のフェッチされたデータの最初の行のみをフェッチします。 foreachループを使用する必要はありません。ただ、このようにしてみてください。..もっと見るここhttps://www.codeigniter.com/userguide3/database/results.html

0

については

  echo '<tr>'; 
      echo '<td>'.$puntos->descripcion.'</td>'; 
      echo '<td>'.$puntos->lugar.'</td>'; 
      echo '<td>'.$puntos->tipo.'</td>'; 
      echo '<td>'.$puntos->urgencia.'</td>'; 
      echo '</tr>'; 

配列のこの

 echo '<tr>'; 
     echo '<td>'.$punto['item_1_name'].'</td>'; 
     echo '<td>'.$punto['item_2_name']..'</td>'; 
     echo '<td>'.$punto['item_3_name']..'</td>'; 
     echo '<td>'.$punto['item_4_name']..'</td>'; 
     echo '</tr>'; 

item_1_name =インデックス名は

を返されたようにしてみてください
関連する問題