PDA

View Full Version : мультиформа


linky
16.07.2006, 14:12
Здравствуйте, люди!
У всех у нас был когда-то браузерный почтовый ящик, на том же яндексе, рамблере, итд.
Вобщем, у меня есть серьезный вопрос, сложную штуку, вобщем хочу сделать. :oooo:
Бугого, страшно? :lol: Так вот, вобщем, там в этих ящиках обычно в каждой из папок, есть наверху чекбокс, и напротив каждого сообщения - тоже по чекбоксу. НО! Когда мы жмём кнопку УДАЛИТЬ - удаляются только те сообщения, которые были отмечены галочкой, хоть форма то и одна!
Объясните пожалуйста, как такую же штуку мне намутить? Ведь количество сообщений всегда разное, список берётся при помощи while();
Так вот, и id у объектов тое всегда разный. Мне если откровенно говорить - нужно чтобы можно было в каждом инпуте на строке ввести например, непреличное слово, и чтобы по нажатию одной кнопки, все непреличные слова вписывались в базу к сообщениям, в которых я их проставил. :whistle: Помогите плз, я не новичок, но и не дед, так что можно в двух словах, помогите кто чем может, денег дам :cool: Не, не дам, шучю.

Soniks
16.07.2006, 15:13
linky обычно делается как, каждомы напротив каждого пункта делается чекбокс с именем массива, т.е. у всех этих чекбоксов имя одно, а значения будут разные, например:

<input type="checkbox" name="del[]" value="1" />
<input type="checkbox" name="del[]" value="2" />
<input type="checkbox" name="del[]" value="3" />
....

где значения будут равны id пункта и при выбора чекбокса, этот id будет занесен в массив имени, в данном случаи массива del, а дальше после отправки формы стоит только циклом перебрать все значения массива del и удалить значения по его id

linky
16.07.2006, 15:29
Спс, Соныч! Примерно для мея эта шняга прояснилась... Но вот только...
"циклом перебрать все значения массива del" - разжуй пожалуйсто... Я ещё не очень понимаю как это будет выглядить в виде кода, там же у меня блин, как бы так сказать... ну, там вобщем
function object_change_word(oid, word) {};
Там где oid - это номер объекта, а word - это непреличное слово, которое я буду менять для каждого из сообщений. и блин, никак не пойму как же он будет через эти 2 переменные вписывать всю эту хрень в... 50 отдельных строк бд... =\

linky
17.07.2006, 00:32
Не, целый день сижу - нефига не получается... Делаю так(схема):
echo "<form action=\"admin.php?op=change_word\" method=\"post\">""
."<input type=\\\"text\" name=\"word[]\" size=\"3\" value=\"$row[wid]\">"
."<input type=\"submit\" value=\"Submit\">\n"
."</form>";
Далее так:
function change_word() {
global $admin_file, $prefix, $db;
include("header.php");
foreach ($_POST['word'] as $word) {
print("\n<br />".$wid." - ".$word);
}
}
Это он мне выдаёт только список слов - те, которые я изменял, и которые не изменял. Словом, все.
А мне же ещё нужно чтобы он пропечатывал номер, id каждого слова, причем не порядковый, а тот, что в базе торчит =\

Soniks
17.07.2006, 12:34
linky объясните нормально, что вы имеете и что должны получить, передать, только без всяких "блин" и "шняг"

linky
17.07.2006, 14:21
) Ок, у меня все хорошо работает, только вот... Мне он выдаёт только значения формы, а мну еще нужно чтобы id выдавался каждой строки, где я написал. Посмотрите мой последний код, он работает, но выдаёт мне только
- 123
- 456
- 2
- 7
- 547547
А мне надо:
id - 123
id - 456
id - 2
id - 7
id - 547547
'id' - это ров из базы, он там стоит на первом месте.

Я сделал в предыдущей форме <input type=\"hidden\" name=\"id[]\" value=\"$row[id]\">
Но вытаить этот массив не получается правильно =( Подскажите плиз, как здесь возможно это попроще сделать?

Soniks
19.07.2006, 17:29
linky ну можно в имени поля вставить if его word[1], word[2] и т.д.
а потом перебором foreach($word as $d=>$value)

linky
20.07.2006, 13:59
Soniks, Вы - гений!
Спасибо! я поставил ров айди в скобки и потом вытащил его... Блин, еще учиться и учиться мне :smile: