AJAX Multi Level / çok seviyeli JSON istek gönderme
Selamlar,
Sipariş formu için birden fazla ürün bilgisini json formatta API'ye göndermeye çalışıyorum. Aşağıdaki form örneğini kullanıyorum. Bir türlü istenen formatta json istek gönderemedim. Son çare bir konu oluşturmak işi bilenlerden akıl almak kaldı :)
Form:
<form class="sendRequestForm mt-4" enctype="multipart/form-data">
<div class="row">
<div class="col-lg-6 col-md-6 col-xs-12 form-group">
<div class="form-item">
<input type="text" name="title" class="form-control" placeholder="Başlık" value="">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-item">
<input type="text" name="title[]" class="form-control" placeholder="Ürün Adı">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="quantity[]" class="form-control" placeholder="Adet">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="unitPrice[]" class="form-control" placeholder="Birim Fiyat">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="totalPrice[]" class="form-control" placeholder="Toplam Fiyat">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-item">
<input type="text" name="title[]" class="form-control" placeholder="Ürün Adı">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="quantity[]" class="form-control" placeholder="Adet">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="unitPrice[]" class="form-control" placeholder="Birim Fiyat">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="totalPrice[]" class="form-control" placeholder="Toplam Fiyat">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 mt-4">
<div class="form-item">
<button type="button" class="btn btn-primary sendRequest" trnForm="sendRequestForm" trnAction="/requests/" trnMethod="POST">
Kaydet
</button>
</div>
</div>
</div>
</form>
İletmem gereken JSON Veri örneği:
var data =
{
"title":"Teklif Başlık",
"products":
{
"items":
[
{
"title": "Salatalık",
"quantity": "65",
"unitPrice": "65",
"totalPrice": "65"
},
{
"title": "Sivri Biber",
"quantity": "45",
"unitPrice": "45",
"totalPrice": "45"
},
{
"title": "Salkım Domates",
"quantity": "75",
"unitPrice": "75",
"totalPrice": "75"
}
]
}
};
<script>
$(document).ready(function()
{
$("body").on( "click", ".sendRequest", function()
{
var trnForm = $(this).attr('trnForm');
var trnAction = $(this).attr('trnAction');
var trnMethod = $(this).attr('trnMethod');
if(typeof trnForm === "undefined" || trnForm=="")
{
alert("Hata! Form bulunamadı.");
}
else
{
trnForm = "."+trnForm;
$.ajax({
url: trnAction,
type: trnMethod,
data: JSON.stringify($(trnForm).serializeArray()),
dataType: "json",
contentType: "application/json",
success: function (trnData)
{
console.log(trnData);
}
});
}
});
});
</script>
AJAX JSON API İstek Gönderme
Selamlar,
Sipariş formu için birden fazla ürün bilgisini json formatta API'ye göndermeye çalışıyorum. Aşağıdaki form örneğini kullanıyorum. Bir türlü istenen formatta json istek gönderemedim. Son çare bir konu oluşturmak işi bilenlerden akıl almak kaldı :)
Form:
<form class="sendRequestForm mt-4" enctype="multipart/form-data">
<div class="row">
<div class="col-lg-6 col-md-6 col-xs-12 form-group">
<div class="form-item">
<input type="text" name="title" class="form-control" placeholder="Başlık" value="">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-item">
<input type="text" name="title[]" class="form-control" placeholder="Ürün Adı">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="quantity[]" class="form-control" placeholder="Adet">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="unitPrice[]" class="form-control" placeholder="Birim Fiyat">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="totalPrice[]" class="form-control" placeholder="Toplam Fiyat">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-item">
<input type="text" name="title[]" class="form-control" placeholder="Ürün Adı">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="quantity[]" class="form-control" placeholder="Adet">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="unitPrice[]" class="form-control" placeholder="Birim Fiyat">
</div>
</div>
<div class="col-md-2">
<div class="form-item">
<input type="text" name="totalPrice[]" class="form-control" placeholder="Toplam Fiyat">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 mt-4">
<div class="form-item">
<button type="button" class="btn btn-primary sendRequest" trnForm="sendRequestForm" trnAction="/requests/" trnMethod="POST">
Kaydet
</button>
</div>
</div>
</div>
</form>
İletmem gereken JSON Veri örneği:
var data =
{
"title":"Teklif Başlık",
"products":
{
"items":
[
{
"title": "Salatalık",
"quantity": "65",
"unitPrice": "65",
"totalPrice": "65"
},
{
"title": "Sivri Biber",
"quantity": "45",
"unitPrice": "45",
"totalPrice": "45"
},
{
"title": "Salkım Domates",
"quantity": "75",
"unitPrice": "75",
"totalPrice": "75"
}
]
}
};
<script>
$(document).ready(function()
{
$("body").on( "click", ".sendRequest", function()
{
var trnForm = $(this).attr('trnForm');
var trnAction = $(this).attr('trnAction');
var trnMethod = $(this).attr('trnMethod');
if(typeof trnForm === "undefined" || trnForm=="")
{
alert("Hata! Form bulunamadı.");
}
else
{
trnForm = "."+trnForm;
$.ajax({
url: trnAction,
type: trnMethod,
data: JSON.stringify($(trnForm).serializeArray()),
dataType: "json",
contentType: "application/json",
success: function (trnData)
{
console.log(trnData);
}
});
}
});
});
</script>
Merhaba Millet;
Aşağıdaki şekilde aynı kullanıcı adı ve şifre ile tanımlı iki farklı veri tabanı mevcut. PDO JOIN kullanılarak tek sorgu ile cdr ve pos tablolarını birleştirerek sonuç almak istiyorum. İç içe foreach haricinde mümkün müdür ?
Veritabanı Adı 1: CDR - Tablo: cdr - birincil anahtar: linkedid
Veritabanı 2: iot - Tablo Adı: post - birincil anahtar: linkedid
Tablolar aynı veri tabanında iken aşağıdaki şekilde sonucu alabiliyorum. Ancak iki farklı veri tabanından tek sorgu ile yapabileceğim bir örnek bulamadım.
$trnSQL = "SELECT * FROM cdr JOIN pos where cdr.linkedid = pos.posLinkedID AND cdr.src>9999 GROUP BY cdr.linkedid ORDER BY cdr.calldate DESC LIMIT 0,1000";
$query = $cdrDB->query($trnSQL, PDO::FETCH_ASSOC);
if($query->rowCount())
{
foreach( $query as $trnRow )
{
..................
}
}
Son Giriş: 2 ay önce
Son Mesaj Zamanı: 3 ay
Mesaj Sayısı: 4
Gerçek Toplam Mesaj Sayısı: 4
İkinci El Bölümü Mesajları: 0
Konularının görüntülenme sayısı: 556 (Bu ay: 47)
Toplam aldığı artı oy sayısı: 0 (Bu hafta: 0)
En çok mesaj yazdığı forum bölümü: Yazılım Geliştirme