Добрый день!
Помогите, пожалуйста. К сожалению знаний не хватает(((
Мне нужно добавить новый продукт на основе комплектующих в БД.
Форма для добавления состоит из выпадающих списков по разделам комплектующих. Списки заполняются автоматически значениями из БД. Для каждой детали можно указать количество.
Задача заключается в том что продукт может содержать 2 разные детали из одного раздела.
Например: 2 радиокарты (если они одинаковые, то просто указывается количество 2, если разные - то при нажатии по ссылке "Добавить" появляется аналогичный выпадающий список и поле для количества)
Вот к чему пришла я. Формирование выпадающих списков
$res=mysql_query("SELECT * FROM $tbl_catalog");
$i=0;
while ($row=mysql_fetch_array($res))
{
if ($row['id_parent']=='0')
{echo "<tr><td width=\"150\" valign=\"top\" class=\"field\">";
echo $row['name'];
$select[$i]=$row['id_catalog'];
$option[$i]=$row['id_catalog'];
echo "</td><td valign=\"top\" id=\"".$select[$i]."\"><div >";
echo "<select name=\"select".$select[$i]."\">";
echo "<option value=\"0\">----</option>";
$sel=$row['id_catalog'];
$result=mysql_query("SELECT id_product, name FROM $tbl_position WHERE id_catalog='$sel'");
while ($rows=mysql_fetch_array($result))
{
echo "<option value=\"".$rows['id_product']."\">".$rows['name']."</option>";}
echo "</select>";
echo "<input type=\"text\" value=\"1\" name=\"kol".$row['id_catalog']."\" size=\"1\" > шт.</div>";
echo " <a href=\"#\" onclick=\"clone($sel)\" >Добавить</a>";
echo "</td>";
echo "</tr>";
}$i++;
}
Ссылка возле каждого выпадающего списка вызывает функцию clone()
function clone(idElem)
{
var td=document.getElementById(idElem).firstChild;
var cln=td.cloneNode(true);
var sel=cln.getElementsByTagName('SELECT')[0];
var inp=cln.getElementsByTagName('INPUT')[0];
sel.name="select...";
inp.name="kol...";
document.getElementById(idElem).appendChild(cln);
}
где новым элементам должны присвиться уникальные имена в соответствии с назначением.
Проблема в том, что все значения элементов формы в цикле заносятся в БД и новые выпадающие списки должны быть также занесены в массивы $select[] и $option[]
foreach ($select as $key => $value){
$var = $_POST["select".$value];
if ($var != 0){
$kol = "kol".$option[$key];
$kol = $_POST[$kol];
for ($j=1; $j<=$kol; $j++){
$q = mysql_query("INSERT INTO tbl_sborka VALUES (NULL,'$last','$var')");}}}
Можно ли как-то дополнить эти массивы с пощью JS???