Я бы сделал корзину, в которую можно положить любую комбинацию. И таблицу вкусов с красивыми пачечками с весом рядом, нажал на соответствующую пачку и она в корзину упала. Натыкал разных пачек и проверив корзину оплатил.
Aligatro: если им нужно выбирать несколько весов одного вкуса (что странно, но вдруг кто-то купит корабль и ещё косяк на попробовать) то я думаю лучшим решением будет создание корзины, вдруг кто-то захочет купить несколько пачек одного вида и несколько другого или ещё какую комбинацию товаров. Какой смысл ограничивать покупателя в выборе комбинаций?
galsik: Так а зачем они должны хранится в базе в двоичном виде? Какой в этом смысл? Вы же ещё загоните это туда в виде строки, а не в двоичном виде. А то как-то вы решаете задачу не понимая, что в итоге она окажется никому не нужной. Если в базе будут хранится IP действительно в двоичном виде, то не обязательно их переводить в строку единичек и ноликов.
Aligatro: Если бы я выбирал кофе, то было бы логичнее выбирать сразу все вкусы, но видеть что эти есть по 50. а эти по килограмму, как у вас сейчас, а вот если выбирать масло, то наверное есть смысл разделить контролы и выбирать сначала отдельно вес, а потом уже в списке сорт масла, так как мне важнее купить именно 250 грамм. Вот описание кофе у вас или масло в банках товар или в тюбиках и есть "предметная область".
Алексей Пархоменко: для начала отладьте сам скрипт Чтобы при входе на страницу yoursite.ru/friends.php?callback=?term=test вы видели результаты в json формате.
Я не нашёл у вас в коде как в переменную $_GET["term"]; попадет значение из инпута.
Вы вызываете скрипт передавая ему только callback, но не term
$.getJSON("friends.php?callback=?", req, function(data) {
Pasha Dayneka: В байте нельзя хранить число больше 255, поэтому в IP не может быть 321, а уж 987 и подавно. Но вы же наверняка это знали, просто решили пошутить.