|
|
|
| дорого времени суток.
столкнулся с такой проблеммой на форме есть один инпут и кнопочка добавить отдел и отправить
при нажатии на добавить отдел появляется еще один инпут и тд. проблемма возникла в добавлении в БД мускул.
добавляется только 1 отдел больше нихочет не в какую. приважу код подскажите где ошибся.
так создается динамичесикй инпут
<script>
function add_sub()
{
var i=0;
var newElem=document.getElementById('tab');//новый элемент страницы (TABLE)
newElem.border=0;//толщина рамки таблицы
var newRow=newElem.insertRow(2);//добавляю строку в созданной таблице
var newCell = newRow.insertCell(0);//в созданной строке добавляю столбец
newCell.width="200";//указываю длину столбца
newCell.height="40";
newCell.align="center";//указываю позиционирование
newCell.innerHTML='<input type="text" name="gnl_division1'+i+'" size="40%">';//заполняю ячейку жирным текстом
i++;
</script>
|
а так добавляю в базу
<? php
while ($i<5)
{
$sql2 -> db_Insert("ab_gnl", "0, '$cat_id', '".@$_POST["gnl_phone1$i"]."', '".@$_POST["gnl_mail1$i"]."', '".@$_POST["gnl_division1$i"]."'");
$i++;
}
?>
|
| |
|
|
|
|
|
|
|
для: Nocash
(15.05.2010 в 10:44)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Valick
(15.05.2010 в 10:48)
| | а какае отношение это имеет к моему заданному вопросу?? да русский, если вы про коментарии то менял систему (кубунту9.04 на 10 версию) и по запарке забыл настройть кодировку поэтому там каракули. а переделать все как то руки не доходят | |
|
|
|
|
|
|
|
для: Nocash
(15.05.2010 в 10:51)
| | я про приважу - не режет ни глаз ни слух?
и для начала не
a
уберите всех собак @ из кода и включите диагностику ошибок | |
|
|
|
|
|
|
|
для: Nocash
(15.05.2010 в 10:51)
| | что такое $cat_id'? может Вы добавляете строки с одним и тем же идентификатором? вот и посылает Вас база в известном направлении...
(и что-то с кавычками не совсем понятно чьи откуда "ноги растут")
лучше тело запроса не писать именно в операторе а формировать отдельной переменной
$query="ab_gnl", "0, '$cat_id', '".@$_POST["gnl_phone1$i"]."', '".@$_POST["gnl_mail1$i"]."', '".@$_POST["gnl_division1$i"]."'";
echo $query;
$sql2 -> db_Insert($query);
|
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Valick
(15.05.2010 в 11:03)
| | $cat_id это номер последнего добавления в другую таблицу. индикатор ошибок включен никаких ошибок не выдает.
я предпологаю что ошибка заключается в скрипте где добаляются инпуты. отправляется только один инпут т.к одно значение записывается в базу а все остальные записываются пустыми( | |
|
|
|
|
|
|
|
для: NoCash
(15.05.2010 в 11:15)
| | то что приходит от клиента (как раз то что Вы пуляете из формы) нужно принимать(!), обрабатывать(!) и контролировать(!)
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Valick
(15.05.2010 в 11:22)
| |
<script>
function add_sub()
{
var i=0;
var newElem=document.getElementById('tab')
newElem.border=0
var newRow=newElem.insertRow(2)
var newCell = newRow.insertCell(0)
newCell.width="200"
newCell.height="40"
newCell.align="center"
newCell.innerHTML='<input type="text" name="gnl_division1'+i+'" size="40%">
i++
</script>
|
А вы уверены что переменная i у вас глобальная? Ведь если у вас на форме появляется новый инпут то в таком случае имена у всех инпутов будут одинаковыми | |
|
|
|
|
|
|
|
для: ONYX
(15.05.2010 в 11:30)
| | нет не уверен этот код мне подсказали на другом форуме. | |
|
|
|
|
|
|
|
для: Valick
(15.05.2010 в 11:22)
| | пипец я 3 строчки Php вам показал вы его обкакали до нельзя, что же будет если вам хотябы странку показывать???xDDD
попробывал сделать добавление по вашему примеру. записи вообще перестали добавляться | |
|
|
|
|
|
|
|
для: NoCash
(15.05.2010 в 11:35)
| | попробывал сделать добавление по вашему примеру. записи вообще перестали добавляться
что показало echo $query; ? | |
|
|
|
|
|
|
|
для: NoCash
(15.05.2010 в 11:15)
| | еще раз повторю
собак в коде (по крайней мере на стадии отладки) быть не должно(!)
$_POST["gnl_phone1$i"] в теле запроса быть не должно(!)
запрос в базу можно сформировать только один(!)
нет не уверен этот код мне подсказали на другом форуме.
что мешает из формы передать массив(!) и обрабатывать как все белые люди с помощью foreach? а не извращаться с while ($i<5) | |
|
|
|
|
|
|
|
для: Valick
(15.05.2010 в 11:27)
| |
<?PHP
foreach ($_POST["gnl_phone1"] as $value)
foreach ($_POST["gnl_mail1"] as $value1)
foreach ($_POST["gnl_division1"] as $value2)
$sql2 -> db_Insert("ab_gnl", "0, '$cat_id', '$value', '$value1', '$value2'");
?>
|
сделал вот так. сейчас добавляет в базу все значения только почему то они повторяются 2 раза( | |
|
|
|
|
|
|
|
для: NoCash
(15.05.2010 в 12:11)
| | а я наивный думал, что хуже первого варианта быть не может :)
не нужно тыкать функции куда попало, Вы должны четко пердставлять алгоритм и толко после этого садиться за написание кода.
gnl_phone1, gnl_mail1 - кто эти люди, где мои вещи ?
в форме я видел только gnl_division1 | |
|
|
|
|
|
|
|
для: Valick
(15.05.2010 в 12:18)
| | эти люди находятся тамже где и gnl_division1 не стал их писать дабы незаграмождать сообщение огромным кодом | |
|
|
|
|
|
|
|
для: NoCash
(15.05.2010 в 12:29)
| | нелзя стыбрить кусок с форума размасштабировать его и применякь ко всему что движется
всё должно быть по фен-шуй взаимосвязано | |
|
|
|