Wie Datalist (asp.net) Art von Funktionalität in PHP implementieren?
Frage
Ich möchte, wie unten
in zwei Spalten Daten anzuzeigenEntry 1 Entry 2
entry 1 description entry 2 description
Entry 3 Entry 4
entry 3 description entry 4 description
Entry 5
entry 5 description
Nun In asp.net seine prestty einfach, nur um ein Datalist einige Einstellungen vornehmen und Datenquelle geben, und es wird es für Sie machen.
Aber in PHP, wie diese Art der Liste angezeigt wird, kann jemand sich einen Code für das?
Danke
Lösung
Ich gehe davon aus, dass Sie eine HTML-Tabelle zeichnen möchten .. Das ist so einfach, HTML-Layout und variable Spaltennummer zu behandeln. Hier ist ein Beispielcode, der genau das tun, was Sie brauchen ..
/* populate sample data */
for($i=1; $i<10; $i++) { $data_array[]=array('Entry '.$i,'entry '.$i.' description'); }
/* how many columns */
$column_number='3';
/* html table start */
?><table border="1" cellspacing="5" cellpadding="5"><?php
$recordcounter=1; /* counts the records while they are in loop */
foreach($data_array as $record) {
/* decide if there will be new Table row (<TR>) or not ... left of division by column number is the key */
if($recordcounter%$column_number==1){ echo "<tr>"; }
?>
<td>
<?=$record[0]?>
<br />
<?=$record[1]?>
</td>
<?php
/* decide if there will be end of table row */
if($recordcounter%$column_number==0){ echo "</tr>"; }
$recordcounter++; /* increment the counter */
}
if(($recordcounter%$column_number)!=1){ echo "</tr>"; }
?></table><?php
Andere Tipps
Ich nehme an Sie fragen, wie Sie die HTML-Ausgabe zu bauen?
<?php $array = array('Item 1' => 'Description 1', 'Item 2' => 'Description 2'); ?>
<dl>
<?php foreach ($array as $item => $description) : ?>
<dt><?php echo $item; ?></dt>
<dd><?php echo $description; ?></dd>
<?php endforeach; ?>
</dl>
Sie können diese mit Hilfe von CSS leicht Stil, schwimmend sie Spalten zu machen oder was Sie haben.
Wenn Sie ein Framework verwenden es kann einen Helfer irgendeine Art enthalten, dies zu tun, aber Standard PHP nicht.
Ist das Ihre Frage beantworten?