|
 19.1 Кб |
|
| Есть скрипт который добавляет новую строку (позицию), нужно все строки одновременно загрузить в базу. ( см. рис. он прикреплен. )
Помогите с написание отправки, заранее благодарю. | |
|
|
|
|
|
|
|
для: clubxaliav
(22.01.2012 в 18:43)
| | Вы можете использовать многострочный INSERT-запрос, т.е. вместо запроса
INSERT INTO tbl VALUES
(NULL, 'лейка', 'пластмассовая лейка')
| можно использовать такой
INSERT INTO tbl VALUES
(NULL, 'лейка', 'пластмассовая лейка'),
(NULL, 'ножницы', 'маникюрные ножницы'),
(NULL, 'стул', 'со спинкой')
|
| |
|
|
|
|
|
|
|
для: cheops
(22.01.2012 в 19:02)
| | А как я подставлю нужные данные в запрос, если у меня с каждой новой строкой добавляются новые item[] и item2[]:
<form>
<table>
<tr>
<td><input type=\"text\" name=\"item[]\"></td>
<td><input type=\"text\" name=\"item2[]\"></td>
</tr>
<tr>
<input type="button" value="Добавить поле" onClick="AddItem();" ID="add"> <input name="submit" type="submit" value="Загрузить">
</tr>
</table>
</form>
|
| |
|
|
|
|
|
|
|
для: clubxaliav
(22.01.2012 в 19:11)
| | Так, у вас элементы $_GET['item'] и $_GET['item2'] будут двумерными массивами, вам нужно будет их просто в цикле обработать. Да вы просто дамп $_GET выведете в обработчике и сами все увидите.
<?php
echo "<pre>";
print_r($_GET);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.01.2012 в 19:17)
| | Ах, знать бы как еще эти массивы сделать! с одним item я могу сделать а с двумя уже не получается, у меня по плану этих item должно быть 9.
По этому и прошу помочь... не как не пойму! | |
|
|
|
|
|
|
|
для: clubxaliav
(22.01.2012 в 19:25)
| | Их не нужно делать - они будут сформированы автоматически, вам останется только воспользоваться ими. | |
|
|
|
|
|
|
|
для: cheops
(22.01.2012 в 19:29)
| | вот что получилось а как из этого слепить?
Array
(
[item9] => 281
[item6] => Array
(
[0] => лейка
[1] => ножницы
[2] => стул
)
[item2] => Array
(
[0] => пластмассовая лейка
[1] => маникюрные ножницы
[2] => со спинкой
)
[submit] => Загрузить
)
|
Как сюда отправить? =>
INSERT INTO tbl VALUES
(NULL, 'лейка', 'пластмассовая лейка'),
(NULL, 'ножницы', 'маникюрные ножницы'),
(NULL, 'стул', 'со спинкой')
|
| |
|
|
|
|
|
|
|
для: clubxaliav
(22.01.2012 в 19:35)
| | Можно начать отталкиваться от следующего скрипта
<?php
...
$sql = array();
if(!empty($_GET['item6']))
{
for($i = 0; $i < count($_GET['item6']); $i++)
{
$fst = mysql_escape_string($_GET['item6'][$i]);
$snd = mysql_escape_string($_GET['item2'][$i]);
$sql[] = "(NULL, '$fst', '$snd')";
}
$query = "INSERT INTO tbl VALUES ".implode(",", $sql);
...
}
...
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.01.2012 в 19:42)
| | Не отправляет ни одной строки.... ((((((
if ($_POST['item9']) {
$sql = array();
if(!empty($_GET['item6']))
{
for($i = 0; $i < count($_POST['item6']); $i++)
{
$fst = mysql_escape_string($_POST['item6'][$i]);
$snd = mysql_escape_string($_POST['item2'][$i]);
$sql[] = "(NULL , '$fst', '$snd', '$articl',
'$proizvod', '$paysys_prod', '1', '', '$period', 'show',
'0', '".date("Y-m-j H:i:s")."', '$nalichie', '$id_comp',
'$razdel', '$razdel2', '$razdel3', '$id_user', '', '')";
}
$query = "INSERT INTO $tables[t_products] (`id_prod`, `name_prod`, `text_prod`, `articl`, `proizvod`,
`paysys_prod`, `status`, `status_date`, `period`, `hide`,
`clicks`, `create_date`, `nalichie`, `id_comp`,
`id_poddirs`, `id_dirs`, `id_razdel`, `uid`, `img_prod`,
`edit_date`) VALUES ".implode(",", $sql)";
mysql_query($query) or die(mysql_error());
}
}
|
| |
|
|
|
|
|
|
|
для: clubxaliav
(22.01.2012 в 20:05)
| | Выводится какое-то сообщение об ошибке? | |
|
|
|
|
|
|
|
для: cheops
(22.01.2012 в 20:08)
| | Извиняюсь, мой косяк:
if(!empty($_GET['item6'])) // POST - забыл поменять
{
.....
Все работает, огромное вам спасибо, буду дорабатывать тогда дальше... | |
|
|
|