[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Редактирование строки. Суть внутри.
skeletor
Не знал как правильно назвать тему, опишу суть.
При нажатии на кнопку я получаю результаты в виде пар: ИМЯ : e-mail. Каждая пара в отдельной строке, пока выводится, как таблица. Хотелось, что бы при нажатии на строку, она открывалась в отдельном окне и можно было отредактировать эти поля.
Заранее спасибо.



Спустя 11 минут, 23 секунды (6.07.2010 - 12:01) Basili4 написал(а):
вешай те событие он клик на элемент в который выводятся эти пары и пишите функцию которая будет принимать их виде параметра и редактировать

Спустя 29 секунд (6.07.2010 - 12:01) vagrand написал(а):
5 WMZ и я тебе навояю что ты хочешь

Спустя 20 минут, 26 секунд (6.07.2010 - 12:22) skeletor написал(а):
2Basili4 спасибо, попробую.

Спустя 2 часа, 9 минут, 22 секунды (6.07.2010 - 14:31) skeletor написал(а):
Спасибо всем, кто помог решить.
Подсказали на одном форуме вот такую конструкцию

<?php
$list[0]['name'] = 'Мистер Зеро';
$list[0]['mail'] = 'zero@mail.ru';

$list[1]['name'] = 'Вася';
$list[1]['mail'] = 'vasya@mail.ru';

$list[2]['name'] = 'Петя';
$list[2]['mail'] = 'petya@mail.ru';

$list[3]['name'] = 'Михаил Петрович';
$list[3]['mail'] = 'gandon@mail.ru';


if (isset($_GET['edit'])) {
//Т.к. юзеры сплош все хацкеры, мы им не верим, и режем для верности пять символов от начала строки, ибо туда влезет вполне себе большое число.
// Так же сразу приводим тип, раз мы знаем точно, что там должно придти - число.

$_GET['edit'] = (int)trim(substr(trim($_GET['edit']),0,5));

//рисуем форму, ибо инпуты живут в формах.
//в форму надо засунуть инпут с id записи, которую правим. лучше бы его спрятать.


echo "Редактируем запись {$_GET['edit']}
<form id='frm_edit' name='frm_edit' method='POST' action='{$_SERVER['PHP_SELF']}'>
<input type='hidden' name='id' value='
{$_GET['edit']}'>
Имя: <input name='name' value='{
$list[$_GET['edit']]['name']}'><br>
Почта: <input name='mail' value='{
$list[$_GET['edit']]['mail']}'><br>
<input type='submit'>
</form>
"
;
}

//т.к. форма отправляет данные POST'ом, мы их там и будем искать.

if (isset($_POST['id']) AND isset($_POST['name']) AND isset($_POST['mail'])) {
//сохраняем присланные данные.
$_POST['id'] = (int)trim(substr(trim($_POST['id']),0,5));
$_POST['name'] = trim(substr(trim($_POST['name']),0,255));
$_POST['mail'] = trim(substr(trim($_POST['mail']),0,255));
//если полей больше - есть другой способ, который позволяет пройтись по ним и пообрезать в цикле.

//кагбэ типа сохраняем...

$list[ $_POST['id']]['name']=$_POST['name'];
$list[ $_POST['id']]['mail']=$_POST['mail'];
}


//рисуем лист
for ($i = 0; $i < count($list); $i++) {
echo "<div class='entry'> {$list[$i]['name']}, {$list[$i]['mail']} <a href='?edit=$i'>Редактировать</a>";
}



?>


Переделал немного под себя. Ещё как вариант, можно использовать эту конструкцию (подсказали на одном форуме) http://phpfaq.ru/formtable. Тему можно закрывать.


_____________
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.