Помогите, пожалуйста, разобраться! Необходимо добавить функцию редактирования записи в таблице базы данных. Поля там следующие: фамилия, имя, отчество и далее ещё 20 полей. Что необходимо: пользователь вводит фамилию и имя. Запрос ему возвращает, допустим, пять Ивановых Иванов, выводит все эти записи на экран. Вопрос: как сделать, чтобы пользователь просто кликнул на нужного Иванова и открылось окно с текстовыми полями, в которых уже все его данные? Именно, как сделать выведенные данные кликабельными?
Спасибо!
Спустя 30 минут, 51 секунда (14.03.2011 - 09:59) demonichka написал(а):
Когда Вы формируете список фамилий, нужно их делать ссылками на страницу которая будет выводить данные о человеке. А ссылка может быть такого вида: <a href="profile.php?id=тут айдишник человека в базе">Иванов</a>. Если нужно более подробно описать, спрашивай, объясню.
Спустя 59 минут, 41 секунда (14.03.2011 - 10:58) JoseUB написал(а):
Да, подробнее, если не трудно. Я программист очень начинающий)). В общем, вот код, который выбирает введенные ФИО из базы и выводит их на экран (считаем, что этого достаточно для однозначной идентификации пользователя).
<form action="" name="search_part" method="post">
<input type="text" name="surname" />
<input type="text" name="name" />
<input type="text" name="patron" />
<input type="submit" />
<?php
mysql_connect(localhost, $_SESSION['login'], $_SESSION['password']) or die (mysql_error("Невозможно подключиться к базе"));
mysql_select_db ('CMP') or die (mysql_error("Невозможно выбрать базу данных"));
if (isset($_POST['surname'])){$surname = $_POST['surname'];}
if (isset($_POST['name'])){$name = $_POST['name'];}
if (isset($_POST['patron'])){$patron = $_POST['patron'];}
if (isset($_POST['surname']))
{
$query = "SELECT * FROM part WHERE surname = '$surname'";
$result = mysql_query($query) or die("Query failed");
while ($row = mysql_fetch_array($result))
{
echo $row['participant_id'];
echo "<br>";
echo $row['surname'];
echo "<br>";
echo $row['name'];
echo "<br>";
echo $row['patronymic'];
echo "<br><br>";
}
}
?>
</form>
И вот теперь хотелось бы получить эти ФИО в виде ссылок, чтобы при кликании на той же странице появлялись 26 однострочных форм ввода с информацией этой записи (ну, в таблице 26 полей) и чтобы прям там подредактировать нужное поле и сохранить. Подскажите, пожалуйста, сам принцип!
<form action="" name="search_part" method="post">
<input type="text" name="surname" />
<input type="text" name="name" />
<input type="text" name="patron" />
<input type="submit" />
<?php
mysql_connect(localhost, $_SESSION['login'], $_SESSION['password']) or die (mysql_error("Невозможно подключиться к базе"));
mysql_select_db ('CMP') or die (mysql_error("Невозможно выбрать базу данных"));
if (isset($_POST['surname'])){$surname = $_POST['surname'];}
if (isset($_POST['name'])){$name = $_POST['name'];}
if (isset($_POST['patron'])){$patron = $_POST['patron'];}
if (isset($_POST['surname']))
{
$query = "SELECT * FROM part WHERE surname = '$surname'";
$result = mysql_query($query) or die("Query failed");
while ($row = mysql_fetch_array($result))
{
echo $row['participant_id'];
echo "<br>";
echo $row['surname'];
echo "<br>";
echo $row['name'];
echo "<br>";
echo $row['patronymic'];
echo "<br><br>";
}
}
?>
</form>
И вот теперь хотелось бы получить эти ФИО в виде ссылок, чтобы при кликании на той же странице появлялись 26 однострочных форм ввода с информацией этой записи (ну, в таблице 26 полей) и чтобы прям там подредактировать нужное поле и сохранить. Подскажите, пожалуйста, сам принцип!
Спустя 48 минут, 26 секунд (14.03.2011 - 11:47) demonichka написал(а):
Модератор, удалите пожалуйста пост. Конфирм случайный.
Спустя 3 минуты, 38 секунд (14.03.2011 - 11:51) demonichka написал(а):
while ($row = mysql_fetch_array($result)) {
echo $row['participant_id'];
echo "<br>";
echo "<a href='profile.php?id=".$row['participant_id']."'>".$row['surname']." ".$row['name']."</a><br><br>";
}
Сейчас опишу принцип.
Нужно сформировать для каждого человека ссылку на страницу редактирования информации о нем.
Нужно создать пхп файл для отображения и редактирования полей котрый вы укажите в ссылке.
Переходить на новый файл вы будете с гет параметром идентификатора пользователя.
Дальше дело техники. У вас на руках есть айдишник пользователя, по нему вы обращаетесь к базе, выводите информацию из базы в поля формы.
Сохранять можно в этом же файле, посмотрите как работать с массивом $_POST.
Спустя 2 часа, 31 минута, 22 секунды (14.03.2011 - 14:22) JoseUB написал(а):
Спасибо огромное! А существует ли какой-то рецепт, чтобы сделать это без перехода на другой файл?
Спустя 14 минут, 21 секунда (14.03.2011 - 14:36) demonichka написал(а):
Можно это делать и текущем файле. Просто будешь отталкиватся от наличия айдишника в адресной строке. А когда будешь сохранять данные, передавай в хидден поле еще ключевое значение.
Например у тебя сейчас открыта страница редактирования данных пользователя, и в форме добавь хидден поле.
<input type='hidden' name='action' value='save'>
И в начале файла проверяй напличие и значение переменной $_POST['action'].
Если она есть и равна "save" тогда сохраняй данные о пользователе.
Например у тебя сейчас открыта страница редактирования данных пользователя, и в форме добавь хидден поле.
<input type='hidden' name='action' value='save'>
И в начале файла проверяй напличие и значение переменной $_POST['action'].
Если она есть и равна "save" тогда сохраняй данные о пользователе.
Спустя 1 день, 21 час, 50 минут, 26 секунд (16.03.2011 - 12:27) JoseUB написал(а):
Спасибо большое!