Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение базы данных через форму, вот незнаю как правильнее делать... 
:(
    Опции темы
Jubei
Дата 13.7.2005, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Вот как я придумал модифицировать данные в базе- Данные вводятся через в БД форму, потом есть возможность посмотреть их через другую форму. Теперь о чем я хотел спросить, в этой другой форме, которая показывает данные из БД можно кликнуть на строчку чтобы модифицировать данные, так вот мне интересно можно ли как-то реализовать переход в форму ввода данных при этом передав параметр которой или переменную при просмотре которой скрипт бы выбирал создавать ли ему новую строчку в базе или модифицировать старую.
Спасибо за ответ, извините если что за громозкое описание.

P.S. может стоит использовать глобальные переменные и отлавливать их REQUEST-ом в скрипте форме ввода ?

Это сообщение отредактировал(а) Jubei - 13.7.2005, 13:44
PM MAIL   Вверх
Mal Hack
Дата 13.7.2005, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



есть форма добавления.
Есть такая же форма редактирования, которая правда должна генерится PHP скриптом. И вставлять туда <input type='hidden' name='id' value=''> В значение value подставляется ID той записи, которую надо отредактировать, который ты передаешь по ссылке: edit.php?id=12
PM ICQ   Вверх
Jubei
Дата 13.7.2005, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Так, я немного невьехал smile тоесть у меня неполучиться сделать такое чтоб форма добавления при определенных условиях(описанных в скрипте) могла бы становиться и формой редактирования ? Тоесть надо 2 формы делать ?

Это сообщение отредактировал(а) Jubei - 13.7.2005, 14:20
PM MAIL   Вверх
Mal Hack
Дата 13.7.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Jubei либо две формы, либо одна, но в зависимости от того что хочет пользователь (добавить или редактировать) ты должен:
1. Установить соответствующий <form> action либо на edit.php либо на add.php.
2. Добавить <input type='hidden' name='id' value=''> В значение value подставляется ID той записи, которую надо отредактировать, который ты передаешь по ссылке: edit.php?id=12 в форму редактирования.
PM ICQ   Вверх
Jubei
Дата 13.7.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Понял вроде бы ). И еще глупый вопрос, наверно больше связаный с html, когда одна форма выводит данные из базы на экран, то каким способом лучше всего выбирать ту строчку которую надобы отмодефицировать (например можно-ли использовать как-нибудь аhref на колонне id чтоб передать скрипту edit.php то значение id на которое юзер кликнул ? или вот в случае <input type='hidden' name='id' value=''> как именно засовывать в value id той строчки которой хочет изменить пользователь ? )
Спасибо большое, что терпите мои глупые вопросы smile
PM MAIL   Вверх
Mal Hack
Дата 13.7.2005, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Через PHP. Выводишь либо строчку с EDIT либо с ADD.
PM ICQ   Вверх
Jubei
Дата 13.7.2005, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Нет я наверно немного неправильно обьяснил, вот вывелась таблица там 5 строчек, каким видом лучше всего выбирать что например я хочу изменить 2ую строчку через ahref это можно или как <input type='hidden' name='id' value=''> узнать что я нажал именно вторую строчку и записать в value=id второй строчки ?
PM MAIL   Вверх
Mal Hack
Дата 13.7.2005, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Таблица с чем? С формой? Такого быть не должно.
PM ICQ   Вверх
Jubei
Дата 13.7.2005, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Нет не таблица с формой, есть форма которая которая выводит данные из базы в виде таблицы, я хочу понять как удобнее для пользователя сделать модификацию данных которые он видет в этой таблице, вот и извращаюсь разными способами smile

P.S.Тфуты не форма, а пхп скрипт который выводит данные из базы и запихивает их сделаной на html таблице

P.S.S. чтото я страшное напридумывал буду думать как по другому делать

Это сообщение отредактировал(а) Jubei - 13.7.2005, 23:15
PM MAIL   Вверх
Jubei
Дата 14.7.2005, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Вообще решил я сделать так, сделал форму с одним инпутом в котором вводиться число (номер строчки которую мы будем модифицировать). Главная проблема, у меня возникает в том, что пока например неодна строка в базе данных не стерта,можно спокойно сравнивать номер строчки с полем id AUTO_INCREMENT в mysql-e, а что делать если вдруг строчку пришлось стереть ... все сразу накрывается медным тазом... может есть способ лучше делать модификацию строчки ?
PM MAIL   Вверх
Mal Hack
Дата 14.7.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Цитата(Jubei @ 13.7.2005, 17:41)
есть форма которая которая выводит данные из базы в виде таблицы,

Ты хоть сам понял что ты сказал?

Цитата(Jubei @ 14.7.2005, 11:30)
Вообще решил я сделать так, сделал форму с одним инпутом в котором вводиться число (номер строчки которую мы будем модифицировать). Главная проблема, у меня возникает в том, что пока например неодна строка в базе данных не стерта,можно спокойно сравнивать номер строчки с полем id AUTO_INCREMENT в mysql-e, а что делать если вдруг строчку пришлось стереть ... все сразу накрывается медным тазом... может есть способ лучше делать модификацию строчки ?

Так делать не надо.

Для начала сделай проще. Две разные формы add.php и edit.php. Потом уже пойймешь, как их объединить
PM ICQ   Вверх
Jubei
Дата 14.7.2005, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



вот например Add.php

Код

<?php

     $hostname="localhost";
     $username="myusername";
     $password="mypassword";
     $dbName="rskdatus";
     $usertable="rskdat";
     
     $pref=$_POST['tips'];                                                // данные из хтмл формы
     $rsknum=$_POST['RSKnumurs'];
     $sernum=$_POST['Serialaisnummurs'];
     $modelnum=$_POST['Modelanumurs'];
     $tehnpar=$_POST['Tehniskieparametri'];
     $pref1=$_POST['opersistema'];
     $datvard=$_POST['Datoruvards'];
     $kab=$_POST['Kabinets'];
     



     $link  =  mysql_connect($hostname,  $username,  $password);
     if (!$link) die ("Nemogu podklu4itsja k MYSQL db");
     @mysql_select_db("$dbName") or die("Cant find database");
     $proverk = mysql_query("SHOW TABLES LIKE '".$usertable."'" );
     if(!mysql_num_rows($proverk)); //proverka na to estj li tablica ili net
     {
                $query="CREATE TABLE rskdat (id int(6) NOT NULL auto_increment,
                tips varchar(30) NOT NULL,RSKnumurs varchar(30)NOT null,Serialaisnummurs varchar(30),
                Modelanumurs varchar(30) , Tehniskieparametri Text ,opersistema varchar(30),Datoruvards varchar(30),
                Kabinets varchar (30),PRIMARY KEY (id),UNIQUE id (RSKnumurs),KEY id_2 (id))";
                mysql_query($query);
     }
     $query = "INSERT INTO $usertable VALUES('','$pref','$rsknum', '$sernum','$modelnum',
     '$tehnpar','$pref1','$datvard','$kab')";
     mysql_query($query) or die(mysql_error());
     echo "Informacija zanesena v bazu dannih";

?>

из этого скрипта я перехожу в view.php в который выводит данные из mysql на экран и мне нужно из этого view.php можно было-бы перейти в хтмл форму заполнения данных для вноса данных, а потом оттуда в edit.php c определенным параметром (например номером или чтонибудь чтоб указывало на строчку которую надо изменить) который бы мог задать пользователь - вот это я непонимаю как сделать.
Add.php и Edit.php будет же отличаться друг от друга проверками создана ли такая строчка, можно ли её модифицировать в базе данных и так далее , я прав ?
PM MAIL   Вверх
Mal Hack
Дата 14.7.2005, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Цитата(Jubei @ 14.7.2005, 12:43)
а потом оттуда в edit.php c определенным параметром (например номером или чтонибудь чтоб указывало на строчку которую надо изменить) который бы мог задать пользователь - вот это я непонимаю как сделать.


Цитата(Mal @ 13.7.2005, 15:13)
И вставлять туда <input type='hidden' name='id' value=''> В значение value подставляется ID той записи, которую надо отредактировать, который ты передаешь по ссылке: edit.php?id=12

Вот так.
PM ICQ   Вверх
Jubei
Дата 14.7.2005, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Но номер строчки которую надо отредактировать, должен передавать пользователь, как нам тут input type=hidden поможет ? .... или я чтото непонимаю smile

Это сообщение отредактировал(а) Jubei - 14.7.2005, 11:51
PM MAIL   Вверх
Mal Hack
Дата 14.7.2005, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Номер строчки передается через параметр ID, вводимый в адресной строке браузера.
В скрипте, который генерирует форму, ты этот ID подставляешь в значение скрытого поля.
PM ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.