2017-12-30 14 views
0

Ich bin neu in Codeigniter, brauche etwas Hilfe.Codeigniter: Anzahl der Zeilen in einer Ansicht, die aus der Datenbank abgerufen

Ich möchte einige Spalten in einer Tabelle anzeigen. Außerdem möchten Sie die Gesamtzahl der Zeilen in der Tabelle zählen. Ich habe versucht, einige Wege, können Sie mir bitte helfen, wenn dies der richtige Weg ist oder es gibt andere bessere Möglichkeiten, dies zu tun.

mein Modell

 
public function getRentedEquipments($project_id=0){ 

     return $this->db->select('e.*, p.project_id') 
        ->from('equipment AS e') 
        ->join('project AS p', 'p.project_id = e.project_id') 
        ->where('p.project_id', $project_id) 
        ->order_by('eq_name','ASC') 
        ->get()->result_array(); 
} 

Meine Ansicht

 



         
 
<tbody> 
 

 
<?php 
 

 
$total_eq=0; 
 
    $count=1; 
 
    foreach ($pr_eq as $row) { 
 
?> 
 

 
<tr> 
 
     <th scope="row"><?php echo $count;?></th> 
 
     <th scope="row"><?php echo $row['eq_id'];?> </th> 
 
     <th scope="row"><?php echo $row['eq_name'];?> </th> 
 

 
    <?php 
 
$total_eq+=$row['eq_id']-1; 
 
    $count=$count+1; 
 
    } 
 

 
?> 
 
<button class="btn btn-info"> Number of Equipments: <?php echo $total_eq;?></button> 
 
    </tbody>

Meine Ausgabe im Bildlink,

die Ausgabe korrekt angezeigt wird, will nur wissen, ob es bessere Möglichkeiten gibt, zu tun dies enter image description here

Antwort

1

im ho gibt es keine Notwendigkeit zum Zählen der Objekte in dieser Art und Weise ist - das

<tbody> 
<?php 
foreach ($pr_eq as $row) 
{ 
?> 

<tr> 
     <th scope="row"><?php echo $count;?></th> 
     <th scope="row"><?php echo $row['eq_id'];?> </th> 
     <th scope="row"><?php echo $row['eq_name'];?> </th> 
</tr> 
<?php 
} 
?> 
</tbody> 
<button class="btn btn-info"> Number of Equipments: <?= count($pr_eq);?></button> 
0

nur versuchen wir dies auf dem Array in einigen Überprüfung Zugabe noch einen Schritt weiter konnte (was als übertrieben ist in diesem Fall -> result_array() verwendet im Modell wird immer ein Array zurückgeben) und mit PHPs if(); endif; Funktionalität, die mit eingebettetem HTML besser lesbar ist.

Technisch könnten Sie ein Array haben, das eine Zählung von 0 hat, was die foreach nicht ausführen wird, die es trotzdem tun wird. Damit alles sicher scheint.

Ich habe Ihre <tbody> Tags innerhalb der bedingten, also wenn sie draußen sein müssen, können Sie es beheben, um zu passen.

+1

Sie vielleicht richtig - aber in diesem Fall ist es nicht notwendig, es auf diese Weise zu überprüfen, weil Codenigniters 'result_array' Methode immer ein Array zurückgibt - wenn es keine Ergebnisse gibt, erhalten Sie ein leeres Array zurück – sintakonte

Verwandte Themen