1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

реализация Прихода товара + скрипт

Тема в разделе "Web Coding", создана пользователем RALF, 3 янв 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. RALF

    RALF черный рыцарь

    Регистр.:
    1 май 2006
    Сообщения:
    114
    Симпатии:
    25
    Вообщем форма прихода товара следующая:
    -------------------------------------
    товар | количество | цена | сумма |
    ------------------------------------|
    ------------------------------------|
    ------------------------------------|
    Итого | |

    Вообщем проблема следующая. Когда я нажимаю на пункт меню "Приход товара", то выходит следующая форма(она выше). Вот забиваю в таблицу первый товар - это первая строка. А вот как сделать так, чтобы после забивки первой строки автоматически появлялась вторая строка для забивки и т.д. я этого не знаю. Если не трудно опишите это на php. заранее благодарен.

    Добавлено через 2 минуты
    Ну и соотвественно как сохранение всех строк будет в БД MySQL а конкретно как будет выглядеть запрос, если строк для товара будет несколько. И как будет считаться "итого", если n -строк с товарами.
    заранее спасибо за ваши советы и предложения
     
  2. RALF

    RALF черный рыцарь

    Регистр.:
    1 май 2006
    Сообщения:
    114
    Симпатии:
    25
    Нашел решение на java:
    оно следующее:
    function AddItem()
    {
    frm = document.forms.comms;

    ncount++;
    sncount = new String(ncount);
    arDel[ncount] = 0;
    document.all.info.innerHTML = document.all.info.innerHTML + '<TABLE border="1" width="100%" id=tab'+sncount+'><input type="hidden" name="send['+i+']" value="1"><tr><td width=100><select name="tovarid['+sncount+']"></select></td> <td width=100><input size=7 type="text" name="kolvo['+sncount+']"></td> <td width=100><input size=7 type="text" name="price['+sncount+']"></td> <td width=100><input size=7 type="text" name="summa['+sncount+']"></td> <td width=100 align="center"><input type="button" value="удалить" onclick="DelItem('+sncount+')" name="B2" style=input></td></tr></table>';
    return true;
    }

    Добавлено через 1 минуту
    Она добавляет новую строку. Но есть проблема. Не могу передать данные из javascript в php
     
  3. RALF

    RALF черный рыцарь

    Регистр.:
    1 май 2006
    Сообщения:
    114
    Симпатии:
    25
    [FONT=verdana, arial, helvetica]Вот есть ссылочка: design-club.biz/prihod.php - Форма прихода товара на склад.
    Исходный Код страницы («prihod.php») здесь – : design-club.biz/code.txt
    [/FONT][FONT=verdana, arial, helvetica] Есть вот такая проблема: После нажатия кнопки «добавить строку» - добавляется новая строка. Но не могу передать новой строке вот этот вот “select”:
    [/FONT][FONT=verdana, arial, helvetica] <select name='tovarid[1]'>
    <?php
    // Прочитать из базы данных список возможных товаров
    $nom_array=get_nomen();
    foreach ($nom_array as $thisnom)
    {
    echo '<option value="';
    echo $thisnom['tovarid'];
    echo '"';
    echo ' selected';
    echo '>';
    echo $thisnom['title'];
    echo "</option>\n";
    }
    ?>
    </select>
    [/FONT]
    [FONT=verdana, arial, helvetica]
    Как Вы поняли данный “select” присутствует в первой строке, а вот в добавочной он отсутствует. Пытался разными способами впихать этот select в добавляемую строку, но результат отрицательный. Вот и хочу спросить у знающих людей. Как передать этот select с массивом товаром новой строке. Массив как Вы поняли работает с помощью php а сам скрипт добавления новой строки работает с помощью javascript.

    И есть еще один вопрос: Как потом передать все эти значения строк в БД. Каждая строка таблицы должна сохранятся новой строкой в таблице mysql. Т.е. по кнопке «добавить» - передавался весь массив данных и сохранялся в mysql.

    Заранее спасибо!
    [/FONT]
     
  4. totamon

    totamon Прохожие

    на первый взгляд...
    вынеси $nom_array=get_nomen();
    перед селектом, зачем тебе на каждую строку новый запрос делать? да он и не будет делаться если только аякс не пользовать:)
    а на второй взгляд...
    код не работает потому что ты яваскриптом размножаешь пхп код, яваскрипт выполняется в браузере, пхпкод - на сервере, объединяет это технология AJAX, но не к чему он пока тебе, после запроса из БД формируй яваскрипт код и присваивай значения массиву 2хмерному (яваскриптовскому) а в селекте уже его используй...
    а вообще я в еще подумал на алгоритмом работы... проще надо быть :p

    ЗЫ. в дополнение к первому варианту (по второму конкретно не скажу, тк не дружу с яваскриптами:() - можно формировать например 10 строк , и скрыть 9, а добавлять открывая необходимые... только так он и будет работать...
    запись в БД: получаешь массив данных из таблицы и перебором массива делаешь инсерт в БД... это уже христоматия...
     
Статус темы:
Закрыта.