v2.5.2
Giriş yap

PDO ile kategori sırasını html <option> içerisinde nasıl listelerim?

seyfullahki
574 defa görüntülendi

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;
makifgokce
1728 gün önce

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>