2016-05-19 3 views
0

Dies ist mein aktueller Code, um die Daten zu holen:Wenn Anweisung innerhalb foreach-Schleife zu formatieren bestimmter Spalt

<thead> 
<?php 
foreach ($fields as $val) { 
$fieldname=$val->name; 
echo "<th>".$fieldname."</th>"; 
} 
?> 
</thead> 

<tbody> 
<tr> 
<?php 
foreach ($rows as $data){  
echo "<td>".$data."</td>"; 
?> 
</tr> 
</tbody> 

Einige Felder sind Id, Titel, Höhe, und so weiter. Ich möchte die spezifische Spalte "Titel" formatieren, damit sie ein Link wird. Vielen Dank.

Ich versuchte Wenn Aussagen wie:

if($rows==$rows['AMOUNT']){ 
//format here 
} 

aber es ergibt keinen Fortschritt. Die If-Anweisung funktioniert jedoch mit den Feldnamen, wenn ich beispielsweise den Schriftschnitt einer einzelnen Spalte ändern möchte.

+1

Also, was haben Sie versucht, um das gewünschte Ergebnis zu bekommen? – Epodax

+0

fehlt

tag. – RJParikh

+1

zeigen die Struktur von '$ rows' ist es Index-Array oder assoziative Array? –

Antwort

0

Wie Sie Kommentar erwähnt $rows ist Assoziatives Array

in Ihrem Fall, dass Sie mit dieser Prüfung sowohl Array-Wert und Array-Taste, um die foreach-Syntax des Erhaltens Schlüssel und Wert wird

foreach($array as $key => $value) 

versuchen bekommen müssen die Schlüssel von Array und Sie können elseif auch verwenden, wenn Sie Prüfung auf einem anderen Feld machen wollen

foreach ($rows as $key => $data) 
{  
    if($key == 'Title'){ 
    echo "<td><a href='yourlink'>".$data."</a></td>"; 
    } 
    else{ 
    echo "<td>".$data."</td>"; 
    } 
} 
+1

vielen Dank –

0

wenn Sie assoziatives Array Check Schlüsselwert verwenden zu identifizieren Spalte:

<?php 
foreach ($rows as $key => $data){ 
    if($key == 'AMOUNT') 
     //format here 
    elseif($key == 'TITLE') 
     //format here 
    else 
     echo "<td>".$data."</td>"; 
} 
?> 
Verwandte Themen