|
|
|
| Здрасьти всем. Есть такой вопрос:
у меня есть форма, в ней сами генирируются строки (юзер предварительно сам указывает нужное число строк). Потом эти строки заполняются. Мне надо потом эти строки перенести в базу, строк может быть от одной до сотни и более. Как это реализовать? Знаю что в цикле, а как это реализовать?
Заранее спасибо. | |
|
|
|
|
|
|
|
для: dimm_kz
(07.12.2008 в 19:20)
| | Дайте хотябы пример формы)) (все полторы тысячи строк указывать ненадо.. достаточно две)
Потому что на "пальцах" можно очень долго и бестолку общаться) (хотя не спорю, иногда это очень весело) | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 19:25)
| | вот:
<?
for ($i=0; $i<$kolvo; $i++)
{
echo "<tr>
<td><input type=\"text\" name=\"model\" maxlength=\"40\"></td>
<td><input type=\"text\" name=\"imei\" maxlength=\"15\"></td>
<td>".$date_prih."</td>
<td>".$nakladn."</td>
<td>".$date_nakladn."</td>
<td>".$post."</td>
<td><input type=\"text\" name=\"postav\" value=\"\"></td>
</tr>";
}
?>
|
| |
|
|
|
|
|
|
|
для: dimm_kz
(07.12.2008 в 19:28)
| |
<?php
for ($i=0; $i<$kolvo; $i++)
{?>
<tr>
<td><input type=text name=model[<?php $i;?>] maxlength=40></td>
<td><input type=text name=imei[<?php $i;?>] maxlength=15></td>
<td><?php $date_prih;?></td>
<td><?php $nakladn;?></td>
<td><?php $date_nakladn;?></td>
<td><?php $post;?></td>
<td><input type=text name=postav[<?php $i;?>] value=""></td>
</tr>
<?php
}
?>
|
Отправляете в обработчик три массива (model, imei, postav) которые обходите с помощью foreach
собираете запрос для базы данных.
Вам новые строки надо вставить или заменить ранее существующие? | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 19:49)
| | это мне приходиться 3 раза отправлять запрос на добавление, а за один обход как это реализовать? поскольку я подазреваю, что он мне будет все раскидывать в базе как попало | |
|
|
|
|
|
|
|
для: dimm_kz
(07.12.2008 в 20:14)
| | Запросов у вас должно быть три...
хотите знать почему... спросите меня "почему?"
Покажите как вы формируете запрос на добавление из массива model
Бррр... так вы всётаки вставляете в базу данные...
Давайте структуру таблицы. | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 19:49)
| | ><td><input type=text name=model[<?php $i;?>] maxlength=40></td>
И к примеру, такое работает? Даже, если вы уж хотите воспользоваться короткими тегами, то уж точно не так. | |
|
|
|
|
|
|
|
для: AcidTrash
(07.12.2008 в 21:06)
| | если вы уж хотите воспользоваться короткими тегами
нет не хочу... просто тупо эхо не дописал. | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 21:32)
| | вот такая у меня таблица:
"id","model","imei","date_prih","nakladn","date_nakladn","postav","other" | |
|
|
|
|
|
|
|
для: dimm_kz
(07.12.2008 в 21:46)
| | Давайте я вас до конца добью вопросами))
А откуда берутся date_prih nakladn date_nakladn и шо таке other? | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 22:03)
| | данные беруться из формы. их будет пользователь заполнять, и вот они то и идут в базу. а other - это поле для разного рода пометок... редко используется | |
|
|
|
|
|
|
|
для: dimm_kz
(07.12.2008 в 19:20)
| | >(юзер предварительно сам указывает нужное число строк). Потом эти строки заполняются
Использовать символ массива [] в html-форме.
А дальше, как вы и писали обрабатывайте в цикле. | |
|
|
|
|
|
|
|
для: AcidTrash
(07.12.2008 в 22:00)
| | а если юзер пропустит одно из заполняемых полей? | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 22:04)
| | На обязательные поля делать проверку(например средствами JS или PHP). :)
P.S. От вас это странный вопрос. | |
|
|
|
|
|
|
|
для: AcidTrash
(07.12.2008 в 22:07)
| | От вас это странный вопрос
Да нет.. нормальный вопрос... просто пытаюсь думать на несколько шагов вперёд) | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 22:04)
| | да я об этом уже думал над ентим... но сначала все же хотелось бы данные в таблицу занести, а проверкой потом занятся)) | |
|
|
|
|
|
|
|
для: dimm_kz
(07.12.2008 в 22:11)
| | В чем проблема-то?
<?
$sql = 'INSERT INTO tbl (model, imei) VALUES ';
$sep = '';
foreach($_POST['model'] as $key => $model)
{
$imei = $_POST['imei'][$key];
if(!get_magic_quotes_gpc())
{
$model = mysql_escape_string($model);
$imei = mysql_escape_string($imei);
}
$sql .= "\r\n$sep('$model', '$imei')";
$sep = ",";
}
mysql_query($sql);
|
| |
|
|
|
|
|
|
|
для: Trianon
(07.12.2008 в 22:24)
| | все отлично работает!!! ура! надо было еще поставить у поля imei значение bigint | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2008 в 22:24)
| | а если одно из полей model не будет заполнено? | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 22:37)
| | и что тогда?
Array
(
[model] => Array
(
[1] =>
[2] =>
[3] =>
)
[imei] => Array
(
[1] =>
[2] =>
[3] =>
)
)
|
| |
|
|
|
|
|
|
|
для: Trianon
(07.12.2008 в 22:41)
| | Верно... я ошибался... тут пустые массивы приходят. | |
|
|
|
|
|
|
|
для: dimm_kz
(07.12.2008 в 22:11)
| | Ни в коем разе!! От проверки вас никто не освобождал... просто корректные данные надо записывать сразу. | |
|
|
|
|
|
|
|
для: Valick
(07.12.2008 в 22:24)
| | согласен! просто подобный проект впирвые делаю, да и то чисто на добровольных основах... и всех моментов как-то сразу не учел... | |
|
|
|
|
|
|
|
для: AcidTrash
(07.12.2008 в 22:00)
| | Всем огромное спасибо за принятия участия!!! очень благадарен! Я уже хотел этот проектик кинуть на верхнюю полку... Но благодаря вам он даже может найдет конечного пользователя)) еще раз пасиба | |
|
|
|