uasort($dizi1, fn($a, $b) => $a['item_id'] - $b['item_id']);
uasort($dizi2, fn($a, $b) => $a['item_id'] - $b['item_id']);
$new = array_map(function ($item1, $item2) {
if ($item1['item_content'] != $item2['item_content'])
return [
'item_id' => $item1['item_id'],
'item_content' => [
'old' => $item1['item_content'],
'new' => $item2['item_content']
]
];
return false;
}, $dizi1, $dizi2);
print_r(array_values(array_filter($new)));
veya
uasort($dizi1, fn($a, $b) => $a['item_id'] - $b['item_id']);
uasort($dizi2, fn($a, $b) => $a['item_id'] - $b['item_id']);
$dizi1 = array_values($dizi1);
$dizi2 = array_values($dizi2);
$sonuc = [];
foreach ($dizi1 as $i => $value) {
if ($value['item_content'] != $dizi2[$i]['item_content'])
$sonuc[] = [
'item_id' => $value['item_id'],
'item_content' => [
'old' => $value['item_content'],
'new' => $dizi2[$i]['item_content']
]
];
}
print_r($sonuc);
Bakılıp geçilmeyecek sorular olduğu sürece elimden geldiğince yardımcı olmaya çalışırım :)
Tetikleme butonunu form un içine koymanızı tavsiye ederim. Button üzerinden değil de inputlara daha kolay ulaşabilmek için form üzerinden gitmeyi tercih ediyorum.
<form id="form" enctype="multipart/form-data">
<div class="card">
<div class="card-body">
<div class="row mt-2" style="justify-content: center;">
<div class="col-12 col-md-1">
<label class="form-label mt-1">Site Logo</label>
</div>
<div class="col-12 col-md-1">
<img src="../<?= $settingrow['setting_logo'] ?>" class="img-fluid mt-1 setting_uploaded_logo">
</div>
<div class="col-6 col-md-1">
<input type="text" class="form-control" name="setting_logo_width" value="<?= $settingrow['setting_logo_width'] ?>">
</div>
<div class="col-6 col-md-3">
<input type="file" class="form-control" name="setting_logo">
</div>
<div class="col-12 col-md-1">
<button class="btn btn-success">Gönder</button>
</div>
</div>
</div>
</div>
</form>
$("#form").on("submit", function (event) {
event.preventDefault()
let fd = new FormData()
$(this).find("input").each(function () {
let type = $(this).attr("type"),
name = $(this).attr("name")
if (type === 'file') {
if (this.files[0] !== undefined)
fd.append(name, this.files[0])
}
else
fd.append(name, $(this).val())
})
$.ajax('inc/inc.php', {
method: 'POST',
data: fd,
contentType: false,
processData: false
})
})
php tarafında $_FILES[] ve $_POST[] şeklinde inputların name değerleri ile yakalayacaksınız.
Peki son bir veri daha isteyeyim sizden, yükleme işlemini nasıl tetikliyorsunuz, bir submit butonu göremedim. Submit butonu ekleyerek mi yapayım yoksa file inputu change olunca otomatik yükleme yapsın mı
Hocam html form lazımdı aslında
Örnek formunuzu paylaşırsanız sizin için düzenleyeyim.
PHP nin farklı sürümlerinde faklı sonuçlar veriyor, ilginç gerçekten.
https://3v4l.org/mFpnd
FormData ya diğer input değerlerini de append etmeyi denedin mi. Teorik olarak açıklayayım, bir form on click submit olduğu zaman bu formun içinde bulunan inputları, varsa textareaları each ile dön, bu elemanların name attribute larını key olarak kullanıp oluşturduğun FormData ya resimlerle birlikte append et. Kod yazamıyorum şu an umarım anlatabilmişimdir