Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2010, 12:48   #1
skeletor
Пользователь
 
Аватар для skeletor
 
Регистрация: 21.06.2010
Сообщений: 13
По умолчанию Редактирование строки. Суть внутри.

Не знал как правильно назвать тему, опишу суть.
При нажатии на кнопку я получаю результаты в виде пар: ИМЯ : e-mail. Каждая пара в отдельной строке, пока выводится, как таблица. Хотелось, что бы при нажатии на строку, она открывалась в отдельном окне и можно было отредактировать эти поля.
Заранее спасибо.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"
skeletor вне форума Ответить с цитированием
Старый 06.07.2010, 13:37   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

ну а где наработки? что уже есть?
для того чтобы новое окно открыть в ссылке указывайте target="_blank"
ADSoft на форуме Ответить с цитированием
Старый 06.07.2010, 15:31   #3
skeletor
Пользователь
 
Аватар для skeletor
 
Регистрация: 21.06.2010
Сообщений: 13
По умолчанию

Спасибо всем, кто помог решить.
Подсказали на одном форуме вот такую конструкцию

Код:
<?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. А у меня этих фалов вообще нет!"
skeletor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление пробелов внутри строки Maxx Microsoft Office Excel 22 11.11.2016 01:26
Суть проблемы такова cheache Свободное общение 6 03.05.2010 13:32
Редактирование каждой строки V@mpir Общие вопросы Delphi 4 20.05.2009 23:28
В БД необходимо создать макрос, суть которого расчет итоговой строки по условию mex32 Microsoft Office Excel 31 01.04.2009 13:05
Какой оператор удаляет пробелы ВНУТРИ строки? Maxx Microsoft Office Excel 3 09.12.2008 11:34