Biraz uzun bir anlatım olucak ama inşallah işini görür çok uzatmadan başlayalım,
Öncelikle sql tablomu paylaşayım
3 sütunluk bir tablom var.
<form action="test.php" method="post">
<label for="in_1">Input 1</label><br>
<input type="text" id="in_1" name="input_1"><br><br>
<label for="in_2">Input 2</label><br>
<input type="text" id="in_2" name="input_2"><br><br>
<div id="content"></div><br>
<button type="submit">Gönder</button>
</form>
<button id="form_ekle">Form Ekle</button>
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
Burasıda senin verilerini girdiğin yer olsun, eğer daha fazla veri girmek istiyorsan diye de form ekle adında buton koyalım. Fazladan form elemanı eklemeyi js ile yaptım ben
$("#form_ekle").click(function() {
var form_olustur = '';
var input_sayisi = $("input").length + 1;
for ($i = input_sayisi; $i < input_sayisi + 2; $i++) {
// input_sayisi+2 = 2 input oluşturmak için
form_olustur += `
<label for="in_` + $i + `">Input ` + $i + `</label><br>
<input type="text" id="in_` + $i + `" name="input_` + $i + `"><br><br>
` // form için eleman oluşturur.
}
document.getElementById("content").innerHTML += form_olustur; // Oluşan yeni elemanları ekranda gösterir
});
Form Ekle Butonuna Tıklamadan önce bu şekilde görünücek
Tıkladıktan sonra ise:
Şu şekilde doldurulan bir formun
Gönderildikten sonraki işlemleri test.php devam ediyor
// test.php
$s_numara = random_int(100,999).' '.random_int(100,999).' '.random_int(100,999); // Basit bir sipariş numarası oluşturalım
$deneme = $_POST; // Post edilen verileri alalım
foreach($deneme as $deger):
$sorgu = $db->prepare('INSERT INTO deneme SET input_value = ?, order_number = ?');
$sorgu->execute([$deger,$s_numara]);
endforeach;
ve çıktısı:
sipariş numarası dediğimiz olay burada hangi veriler o formla kaydedilmiş onu anlamamıza yardımcı oluyor. Sayfamı yeniledikten sonra gönderilen 2. form, farklı bir sipariş numarasıyla kaydolucağı için karışma ihtimalleride oldukça az
Ekstra bir sütun ekleyerek sipariş numarası gibi bir şey belirleyerek istenilen birden fazla siparişi bir çatı altında oluşturduğun sipariş numarasıyla toplayabilirsin.
/* Eski Hali */
.menu ul li ul {
display: none;
}
/* Yeni Hali */
.menu ul li ul {
position: absolute;
display: none;
}
Kodlarını görmeden cevap vermek ne kadar mantıksız olsa da tahmin ediyorumki açılır menüne position:absolute özelliğini vermeyi unutmuş olabilirsin. :)