Aynı name ile post ettiğim diziyi ayrıştıramıyorum
Merhaba herkese iyi çalışmalar jquery ile form'dan topluca inputlar yolluyorum
şu şekilde:
<input type="hidden" name="content_id" value="<?php echo $contentrow['content_id'] ?>">
<input type="text" class="form-control" name="content_detail" value="<?php echo $contentrow['content_detail'] ?>">
var data=$('#form').serializeArray();
Bunları array halinde gönderiyor hiç bir problem yok buraya kadar herşey normal
fakat gelen diziyi php ile veritabanına eklemek istediğimde dizide birden fazla content_detail gibi olduğu için hangisini neyle nasıl eşleyeceğim bilemedim pek dizilerle aram yok biraz eksiğim bu konuda
php tarafında şu şekil yazdırıyorum
$data=$_POST['data'];
print_r($data);
yani uzun lafın kısası istediğim bu gönderdiğim çok boyutlu dizide
content_detail bilgisi geliyor content_id geliyor bunları birbiriyle eşliyip veritabanında güncelleme ekleme işlemleri yapmak istiyorum
Herkese iyi çalışmalar
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
<div>
<input type="hidden" name="content_id" value="123">
<input type="text" name="content_detail" class="form-control" value="abc1">
</div>
<div>
<input type="hidden" name="content_id" value="132">
<input type="text" name="content_detail" class="form-control" value="abc2">
</div>
<div>
<input type="hidden" name="content_id" value="213">
<input type="text" name="content_detail" class="form-control" value="abc3">
</div>
<div>
<input type="hidden" name="content_id" value="231">
<input type="text" name="content_detail" class="form-control" value="abc4">
</div>
Bu şekilde input'lar var ve data
key'iyle post ediliyorlar.
content_id ve content_detail dizi olarak PHP'ye iletiliyor ve bu dizilerin eleman sayıları aynı.
HTML'de de doğru sıralamayla dizilmişlerse yukarıdaki html koduna benzer yapıdan giden POST isteğinin PHP'de şu şekilde bir karşılığı oluşuyor olmalı:
$_POST["data"]["content_id"] = ["123", "132", "213", "231"];
$_POST["data"]["content_detail"] = ["abc1", "abc2", "abc3", "abc4"];
Bunları tek bir çatı altında birleştirmek istiyorsanız:
$content = [];
$contentCount = count($_POST["data"]["content_id"]);
for($i=0; $i < $contentCount; $i++) {
$content[] = [
"id" => $_POST["data"]["content_id"][$i],
"detail" => $_POST["data"]["content_detail"][$i]
];
}
echo "<pre>";
print_r($content);
echo "</pre>";
Böylece $content
değişkeninde verileri toplamış oldunuz.