Tamam, bu yüzden iki tablo, ürün ve tedarikçi içeren bir veritabanı var.
Tüm tedarikçiler bir form doldurmanız ve kendi veri sonra tedarikçiler tablosunda saklanır ve ürünleri tablo tüm ürünlerin bir listesini içerir, bu nedenle tedarikçi formu doldurur zaman o ben istediği gibi, o kadar çok ürün seçebilirsiniz gerekli olduğu gibi daha sonra da birçok kez klonlanmış olabilir bunun içinde hepsi birlikte bir aşağı açılır listesini, doldurmak sonra tüm ürünlerin listesini almak için jQuery JSON ve AJAX kullanımı ve.
Ben şimdi oturuyorum sorun ben tedarikçi tedarikçi tabloya seçer, ya da ben yerine sadece o bütün ürünler beri iyi normalleşmesi için bir tedarikçi için seçtiği tüm ürünlerin ilgili olmalıdır farklı ürünlerin tüm eklerim nasıl, zaten orada?
Ben o zaman ayrıştırmak ve veritabanına veri eklemek bir bekleme PHP dosyası, json formatında form verilerini POST jQuery $. Ajax kullanarak olacaktır.
Yani temelde, ben mümkün olan en iyi normalleşmeyi sağlamak için veritabanında verileri ilgili nasıl anlamaya ihtiyacımız var, ve ben tedarikçileri tabloya ürünlerin bir değişken miktarda ekleyerek bir yolunu ya da çok ilişki için bir yol bulmak gerekiyor ürünleri o tek bir tedarikçiden seçer.
Ben ilişkisel veritabanları için çok yeni, bu yüzden devam etmek konusunda herhangi bir tavsiye büyük bir yardım olacaktır, bu yüzden başka herhangi bir tavsiye siz olabilir olurdu!
JQuery kod ben klon doldurmak ve tedarikçi seçer ürünlerini POST kullanın:
$(document).ready(function() {
var count = 0;
//when clicked it will remove the closest div with a class of 'container'
$("span.remove").live('click', function(){
$(this).closest("div.container").fadeOut(400, function(){
$(this).remove();
$('#button').attr('disabled','');
});
});
//initialize the button
$('#button').attr('disabled','');
$('#button').click(function(){
var count = $("#systems_wrapper > .container").size();
var lastID = $("#systems_wrapper > .container:last").attr('id');
var exploded = lastID.split("_");
var increment = Number(exploded[1])+1;
//if the user has selected 5 products, disable the 'add' button
if(count >= 5){
$('#button').attr('disabled','disabled');
}else {
$('#button').attr('disabled','');
}
//clone the first drop down and give it a different ID, as well as it's child elements
var test = $('#systems_0.container').clone().attr('id', 'system_' + increment).appendTo('#systems_wrapper');
test.children(':nth-child(2)').append('<span class="remove"></span>');
test.children(':nth-child(2)').children(':first').attr('id', 'mail_' + increment).attr('class','dropDowns').attr('onchange','test();');
});
//get the products JSON object returned from test_post.php and run the necessary functions on the returned data
$.getJSON("test_post.php", function(data){
//clean out the select list
$('#box').html('');
//run the loop to populate the drop down list
$.each(data, function(i, products) {
$('#box').append(
$('<option></option>').html(products.products)
);
});
});
});
//this gets all of the products chosen and then gets each ones value and ID, and then posts it to the qwer.php file
function test(){
var sections = $('#systems_wrapper').find('.dropDowns');
var newArray = new Array();
sections.each(function(){
var id = $(this).attr('id');
var val = $(this).val();
var o = { 'id': id, 'value': val };
newArray.push(o);
});
alert(newArray);
$.ajax({
type: "POST",
url: "qwer.php",
dataType: 'json',
data: { json: JSON.stringify(newArray) }
});
}
Önceden teşekkürler!