PDO ile kategori sırasını html <option> içerisinde nasıl listelerim?
Veritabanında kayıtlı kategori sırasını misal olarak maksimum 20 sıra olmasını istesek,
<select>
<option>1</option>
<option>2</option>
<option>3</option>
...
<option>19</option>
<option>20</option>
</select>
şeklinde hepsi döngü içerisinde maddeler halinde, veritabanındaki miktar kadar, örneğin 5 kaydı (20 sıra numarasının içinde) nasıl sıralayabilirim.
- SQL Tablom:
CREATE TABLE `firma_profili` (
`id` int(11) UNSIGNED NOT NULL,
`baslik` varchar(200) COLLATE utf8_turkish_ci NOT NULL,
`sef` varchar(200) COLLATE utf8_turkish_ci NOT NULL,
`icerik` text COLLATE utf8_turkish_ci NOT NULL,
`kategori_sira` int(11) UNSIGNED NOT NULL,
`durum` tinyint(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;
istediğin bu galiba

<?php
$data = $db->prepare("SELECT * FROM `firma_profili` WHERE `durum` = 1 ORDER BY `kategori_sira` ASC");
$data->execute();
$rows = $data->fetchAll(PDO::FETCH_OBJ);
$c = $data->rowCount();
?>
<select name="sira" size="7" class="form-control" multiple="">
<?php
foreach($rows as $key => $row){
if($key >= 20){
break;
}
?>
<option style='height:20px' value='<?=$row->id?>'><?=$row->kategori_sira.' - '. $row->baslik?></option>
<?php
}
if($c < 20){
$x = 20 - $c;
for($i; $i < $x; $i++){
$c++;
?>
<option style='height:20px' value='<?=$c?>' disabled><?=$c.' - Disable'?></option>
<?php
}
}
?>
</select>