![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Вот как я придумал модифицировать данные в базе- Данные вводятся через в БД форму, потом есть возможность посмотреть их через другую форму. Теперь о чем я хотел спросить, в этой другой форме, которая показывает данные из БД можно кликнуть на строчку чтобы модифицировать данные, так вот мне интересно можно ли как-то реализовать переход в форму ввода данных при этом передав параметр которой или переменную при просмотре которой скрипт бы выбирал создавать ли ему новую строчку в базе или модифицировать старую.
Спасибо за ответ, извините если что за громозкое описание. P.S. может стоит использовать глобальные переменные и отлавливать их REQUEST-ом в скрипте форме ввода ? Это сообщение отредактировал(а) Jubei - 13.7.2005, 13:44 |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
есть форма добавления.
Есть такая же форма редактирования, которая правда должна генерится PHP скриптом. И вставлять туда <input type='hidden' name='id' value=''> В значение value подставляется ID той записи, которую надо отредактировать, который ты передаешь по ссылке: edit.php?id=12 |
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Так, я немного невьехал
Это сообщение отредактировал(а) Jubei - 13.7.2005, 14:20 |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 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 в форму редактирования. |
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Понял вроде бы ). И еще глупый вопрос, наверно больше связаный с html, когда одна форма выводит данные из базы на экран, то каким способом лучше всего выбирать ту строчку которую надобы отмодефицировать (например можно-ли использовать как-нибудь аhref на колонне id чтоб передать скрипту edit.php то значение id на которое юзер кликнул ? или вот в случае <input type='hidden' name='id' value=''> как именно засовывать в value id той строчки которой хочет изменить пользователь ? )
Спасибо большое, что терпите мои глупые вопросы |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Через PHP. Выводишь либо строчку с EDIT либо с ADD.
|
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Нет я наверно немного неправильно обьяснил, вот вывелась таблица там 5 строчек, каким видом лучше всего выбирать что например я хочу изменить 2ую строчку через ahref это можно или как <input type='hidden' name='id' value=''> узнать что я нажал именно вторую строчку и записать в value=id второй строчки ?
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Таблица с чем? С формой? Такого быть не должно.
|
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Нет не таблица с формой, есть форма которая которая выводит данные из базы в виде таблицы, я хочу понять как удобнее для пользователя сделать модификацию данных которые он видет в этой таблице, вот и извращаюсь разными способами
P.S.Тфуты не форма, а пхп скрипт который выводит данные из базы и запихивает их сделаной на html таблице P.S.S. чтото я страшное напридумывал буду думать как по другому делать Это сообщение отредактировал(а) Jubei - 13.7.2005, 23:15 |
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Вообще решил я сделать так, сделал форму с одним инпутом в котором вводиться число (номер строчки которую мы будем модифицировать). Главная проблема, у меня возникает в том, что пока например неодна строка в базе данных не стерта,можно спокойно сравнивать номер строчки с полем id AUTO_INCREMENT в mysql-e, а что делать если вдруг строчку пришлось стереть ... все сразу накрывается медным тазом... может есть способ лучше делать модификацию строчки ?
|
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Ты хоть сам понял что ты сказал?
Так делать не надо. Для начала сделай проще. Две разные формы add.php и edit.php. Потом уже пойймешь, как их объединить |
||||
|
|||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
вот например Add.php
из этого скрипта я перехожу в view.php в который выводит данные из mysql на экран и мне нужно из этого view.php можно было-бы перейти в хтмл форму заполнения данных для вноса данных, а потом оттуда в edit.php c определенным параметром (например номером или чтонибудь чтоб указывало на строчку которую надо изменить) который бы мог задать пользователь - вот это я непонимаю как сделать. Add.php и Edit.php будет же отличаться друг от друга проверками создана ли такая строчка, можно ли её модифицировать в базе данных и так далее , я прав ? |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Вот так. |
||||
|
|||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Но номер строчки которую надо отредактировать, должен передавать пользователь, как нам тут input type=hidden поможет ? .... или я чтото непонимаю
Это сообщение отредактировал(а) Jubei - 14.7.2005, 11:51 |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Номер строчки передается через параметр ID, вводимый в адресной строке браузера.
В скрипте, который генерирует форму, ты этот ID подставляешь в значение скрытого поля. |
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Я наверно глюпый ) но я непонимаю, как пользователь сможет выбрать номер строчки, которую нужно выбрать ? что-ли в адресной строке браузера ему нужнобудет вручную вбивать ? хмм и если можно |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
У тебя есть таблица со списком всех данных.
описание | ссылка на edit.php?id=12 описание | ссылка на edit.php?id=13 описание | ссылка на edit.php?id=14 описание | ссылка на edit.php?id=15 описание | ссылка на edit.php?id=17 Вот так. В add.php ничего передавать не надо. |
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Спасибо большое ! Понял идею. ээ еще маленький вопросик, тогда
<a href="edit.php?id=<?$i?>" > можно ли так вставлять значение переменной $i в строчку ? Это сообщение отредактировал(а) Jubei - 14.7.2005, 12:51 |
|||
|
||||
| Чих_и_Пых_Пых(MySql_and_PHP) |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 20.4.2005 Репутация: нет Всего: 2 |
<?
$hostname="localhost"; $username="myusername"; $password="mypassword"; $dbName="rskdatus"; $usertable="rskdat"; mysql_connect($hostname, $username, $password) or die("Не могу подключиться к Мускулю"); mysql_select_db("$dbName") or die("Не могу выбрать базу"); echo'<table width=30% align=center>'; if (!isset ($text)) $text = array (); $resultat = mysql_query("SELECT * FROM `table` "); while($row=mysql_fetch_array($resultat)): $selected = false; foreach ($text as $tx) { if ($row[text] == $tx) $selected = true; } if(selected) { echo"<tr><td><input type=text name=text value=\"$row[text]\"></td><a href=\"". $_SERVER['SCRIPT_NAME'] ."?id=$row[id]\">Редактировать</a></tr>"; } else { //надоело код писать, вообщем вюда вставишь форму для редактирования } endwhile; Добавлено @ 12:58
Синтаксис php позволяет такую вставку, но разумнее будет если ты обяснишь что записанно в переменную $i Это сообщение отредактировал(а) Чих_и_Пых_Пых(MySql_and_PHP) - 14.7.2005, 13:00 |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Можно, но надо = поставить между <? и $.
|
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Чих_и_Пых_Пых(MySql_and_PHP) это переменная которая будет отвечать за передачу парамметра id(номера строки что надо редактировать) , уже переделал на <a href="edit.php?id=<?=$i?>" > такой вариант работает, он лингвистически нормален ?
Mal Hack, Чих_и_Пых_Пых(MySql_and_PHP) Большое вам спасибо еще раз ! Это сообщение отредактировал(а) Jubei - 14.7.2005, 13:16 |
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
а вот ситуация спокойно сравнивааем номер строчки с полем id AUTO_INCREMENT в mysql-e все редактируется все хорошо .... , а что делать если вдруг строчку пришлось стереть ... все сразу накрывается медным тазом, так получаеться мы стерли 4 строчку, 5 и так дальше остались, пользователь смотрит таблицу и хопа там ему нужно изменить 4ую строчку, а 4ой строчке в мускуле уже нету, а на месте 4ой в таблице выведенной хтмлом находиться 5ая строчка из мускула, что с этим можно сделать ? ...
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Ты должен, получив ID найти запись в ЬБД с этим ID. Т.е. сделать SELECT. Если записи нет, значит ID ошибочный.
|
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Да я так и делаю, просто я хотел коечто другое узнать в таблице которая выводиться есть столбик id| и его я вывожу неберя значение Id из мускула,а генерируя его циклом
проблема в том что если брать из мускула Id и потереть таблицу то Id не встанут по порядку, а будут продолжать автоувеличиваться даже если одной, двух или даже все строчек уже небудет (реляционные базы данных...) так если так и так сторчку в мускуле потереть, то этот вывод что я показал выше будет мускуловскую строчку номер 5 (4строчку например стерли) писать как 4ую... с этим можно как-то справиться, или только запретив стирать строчки ? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Зачем? ну удалили 4 строчку и что? На выводе это никак не сказывается. |
|||
|
||||
| Чих_и_Пых_Пых(MySql_and_PHP) |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 20.4.2005 Репутация: нет Всего: 2 |
Jubei - ты лучше скажи что хочешь "замутить", тогда нам легче будет тебе обьяснять.
|
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Mal Hack на выводе то нескажеться, а в мускуле (например стер 4ую строчку) 5ая строка так и останеться 5ой , а в выводе она будет 4ой, тоесть ID поле у 4ой строчке выводенной будет 5ая строчка мускула, и как мне тогда её редактировать ?
|
|||
|
||||
| Чих_и_Пых_Пых(MySql_and_PHP) |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 20.4.2005 Репутация: нет Всего: 2 |
Jubei - Тут немного другой случай....
Если ты id ставишь инскриментами по такому принципу:
В таком случае действительно проблема не решиться, но Mal Hack говоти тебе о другом, а именно, id будет служить число, выходящее из базы по такому принципу:
В этом случае, всё должно работать ОК. |
||||
|
|||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Но смотри если я буду брать ID из мускула то при удаление 3ий строчки в нём , 4ая строчка нестанет же 3ей, тоесть вывод будет такой
1ая строчка 2ая строчка 4ая строчка ! Это сообщение отредактировал(а) Jubei - 15.7.2005, 10:29 |
|||
|
||||
| Чих_и_Пых_Пых(MySql_and_PHP) |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 20.4.2005 Репутация: нет Всего: 2 |
А что в этом плохого???
На месте третей строчки у тебя же не появиться пробел... |
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Ну както неоптимистично выглядит таблица с строчками
5ая 12ая 235ая Добавлено @ 11:09 Может тогда вообще убрать эту нумерацию и сделать ссылку на edit.php с изменяющимся ID в другом поле в котором будет текст ? пойду попробую это |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Jubei НЕТ В РЕЯЛЦИОННЫЗ БД ПОНЯТИЯ 4 И 5 СТРОЧКА !!!!!
Все лдостигается через сортировку и идентификацию через ключ - числовой автоинкрементный... |
|||
|
||||
| Jubei |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 7.7.2005 Где: Рига,Латвия Репутация: нет Всего: нет |
Mal Hack я не так выразился под 4-5ой строчкой я подразумевал название строки в БД у ,которой автоинкрементый элемент ID, который равен 4 и 5 соответственно. Спасибо я уже разобрался как лучше сделать.
Это сообщение отредактировал(а) Jubei - 15.7.2005, 12:59 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |