0

私の見解では、行数を数えようとしています。カウントに応じて、最後の 3 行を省略し、残りをビューに表示したい My controller:

          $data['info'] = $this->TrainingEvaluationModel->getQ();

      $this->load->view('TrainingEvaluationView', $data);

データが来ているところから私のモデルが示されています:

         function getQ() {
           $sql = $this->db->get('training_evaluation_entry');
return $sql->result();

}

私の見解は以下のとおりです。

<?php
foreach ($info as $row){ 
    echo "<div class='row'>";
    $i=$row->id;
    echo "<div class='firstc'>".$row->id ."</div>";    
    echo "<div class='secondc'>".$row->name ."</div>";
    echo '<input type="hidden" name="training_evaluation_entry_id'.$i.'" value='.$i.'>';
    echo '<input type= "radio" name="group'.$i.'" value="strongly agreed"> Strongly Agreed';
    echo '<input  type= "radio" name="group'.$i.'" value="agreed"> Agreed';
    echo '<input  type= "radio" name="group'.$i.'" value="neutral">neutral';
    echo '<input  type= "radio" name="group'.$i.'" value="disagree">disagree';
    echo '<input  type= "radio" name="group'.$i.'" value="strongly disagree">strongly disagree';
    echo "</div>";
}
?> 
<input id="submit" type="submit" value="Submit" name="Submit">
</form>

最後の 3 行を表示しないようにするにはどうすればよいですか?? コードイグナイターを使用しています。助けてください。ありがとう

4

1 に答える 1

1

ループを開始する前にcount()、行数を確認し、最後の 3 つの項目を削除するために使用できます。array_splice()

if (count($info) > 10) {
    array_splice($info, -3);
}
foreach ($info as $row) {
    ...

カウントに応じて、実際に従う必要があるルールを指定しませんでした。上記のコードは、10 個を超えるアイテムで開始する場合、最後の 3 つのアイテムを削除します。必要な正確なルールに簡単に適応できるはずです。

于 2013-07-18T06:02:13.653 に答える