Нужна помощь! Оработка записи MySQL и сохранение изменённой записи

blogger

New member
Joined
Jan 1, 2006
Messages
2
Reaction score
0
Location
München
Такая ситуация:

У меня стоит Apache и MySQL-База данных. Каждая таблица в этой БД содержит около восьмиста записей.

Такая проблемка:

Нужен PHP-скрипт, который может следующее: Считывание определённой записи(допустим поле ввода ID), показ этой записи в формуляре, в котором я могу мне нужное изменить и наконец сохранение изменённой записи поверх старой(кнопка "save" или что-то подобное).

Прошу помочь мне, Господа Веб-Спецы, моих PHP-знаний сдесь просто не хватает

Заранее благодарен!
 
K

kaw

PHP:
# выборка значения из базы
$tbl = 'имя таблицы';
$idname = 'имя поля в котором хранятся уникальные идентификаторы';
$colname = 'имя поля в базе из которого берется значение';
$cond = 'что ищем'; 
$sql = 'SELECT `'.$idname.'`, `'.$colname.'` FROM `'.$tbl.'` WHERE '.$colname.'= '.$cond;
$result = mysql_query($sql);
$rdata = mysql_fetch_row($result);
# выборка закончена

if (!@$_REQUEST['update']) // если не была нажата кнопка 'обновить'
{
    print 
    '
    <form action="'.$_SERVER['SCRIPT_NAME'].'" method="POST">
    <input type="hidden" name="id" value="'.$rdata['0'].'">
    <input type="text" name="data" value="'.$rdata['1'].'">
    <input type="submit" name="update" value="обновить">
    </form>
    ';
}
else // изменяем запись в таблице
{
    $id = $_POST['id'];
    $newdata = $_POST['data'];
    $sql = 'UPDATE `'.$tbl.'` SET `'.$colname.'` = "'.$newdata.'" WHERE `'.$idname.'` = '.$id.' LIMIT 1';
    mysql_query($sql);
    Header("Location: {$_SERVER['SCRIPT_NAME']}?".time());
    exit();
}
писал на лету не проверяя..
 

blogger

New member
Joined
Jan 1, 2006
Messages
2
Reaction score
0
Location
München
Спасибо большое, сейчас попробую!
 

Malay

Member
Joined
Feb 6, 2004
Messages
32
Reaction score
1
Location
Одесса
Website
www.sf.biz.ua
Я бы немного поменял условия...
Но суть абсолютно верна. =)

if (@$_REQUEST['update']) // если БЫЛА нажата кнопка 'обновить'
{
//...
}
else //просто выводим
{
// ...
}
 
Top