v2.5.2
Giriş yap

php barkod oluşturma

yeni2021
911 defa görüntülendi

Merhaba,tablodan verileri çekerek bunlardan yeni bir değer oluşturup barkod sütuna input etmek istiyorum ama bir sorunum var.

foreach($veriler as $item){
echo '<option value="'.$item["baslik"].'">'.$item["baslik"].'</option>';
}
?>

Bu şekilde forma çektiğim dropdown listten yaptığım seçime göre o başliğa ait tablodan yil ve k_no verilerini getirmesi ve bununla benzersiz bir barkod oluşturma niyetindeyim. Şu şekilde;

<input type="text" class="form-control" placeholder="BarkodNo…" name="barkod" disabled value="AA-<?=$item["yil"],'-',$item["k_no"]?>">

bana lazım olan şey, tablodan seçtiğim option value ya göre ait k_no değerini önüne sıfır katarak üç basamaklı sayıya tamamlaması.
örnek: AA-2021-1 , istediğim: AA-2021-001
örnek2: AA-2021-85, istediğim: AA-2021-085

bunu nasıl oluşturtabilirim?

php 7.4 kullanıyorum PDO olarak yazarsanız sevinirim.

Cevap yaz
Cevaplar (4)
novruzrhmv
1299 gün önce

https://www.php.net/str_pad metodunu kullanabilirsiniz.
Örnek :

$item["k_no"] = 9;
$item["k_no"] = str_pad($item["k_no"], 3, '0', STR_PAD_LEFT);
echo 'Örnek 1 : '.$item["k_no"].PHP_EOL;

$item["k_no"] = 99;
$item["k_no"] = str_pad($item["k_no"], 3, '0', STR_PAD_LEFT);
echo 'Örnek 2 : '.$item["k_no"].PHP_EOL;

$item["k_no"] = 999;
$item["k_no"] = str_pad($item["k_no"], 3, '0', STR_PAD_LEFT);
echo 'Örnek 3 : '.$item["k_no"];

Çıktı :

Örnek 1 : 009
Örnek 2 : 099
Örnek 3 : 999
yeni2021
1299 gün önce

@novruzrhmv,
şöyle ki
echo '<option value="'.$item["baslik"].'">'.$item["baslik"].'</option>
Bu şekilde başlığı çektim.
sonra
<?=$item["k_no"]?>
yapınca ilgili başlığın k_no verisi gelmiyor. bunun yerine veritabanındaki ilk değer geliyor
Ben başlık seçimini değiştirince ona ait doğru k_no değeri gelsin istiyorum.

novruzrhmv
1299 gün önce

Dropdown list olarak "select"-i kastediyorsanız, JS ile şu şekilde yapabilirsiniz;

const select = document.querySelector('select');
select.addEventListener('change', () => {
	console.log(select.value); //select.value listeden seçtiğiniz opsiyonun değeri olacaktır
})
<select>
	<option value="1">Ilk 1</option>
	<option value="2">Ilk 2</option>
	<option value="3">Ilk 3</option>
	<option value="4">Ilk 4</option>	
</select>
yeni2021
1299 gün önce

@novruzrhmv, teşekkür ederim.
rica etsem konuda bahsettiğim gibi dropdown list ile seçtiğim baslik a göre bu k_no değerini nasıl çekerim?
k_no geliyor ama baslik a ait değil. ilk değer tek geliyor.
Nasıl yaparım?