Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Корректировка данных базы
 
 автор: km54   (21.04.2009 в 15:56)   письмо автору
 
 

Подскажите пожалуйста, как передать в форму ввода базы все записи одной строки для корректировки.
В сформированной таблице базы addbase.php есть две ссылки, которые передают по одному параметру в соответствующий файл

echo "<tr><td>".$out['id_device']."&nbsp;</td>
<td>".$out['name']."&nbsp;</td>
<td><a href=delstr.php?id_dev=".$out['id_device']." >Delete</a>
<td><a href=editstr.php?name=".$out['name'].">Edit</a>
</tr>";
С операцией удаления понятно, достаточно в файле delstr.php получить параметр и используя функцию, выполнить сквозное удаление всей строки.

$id_dev=$_GET['id_dev'];
$del=mysql_query("DELETE FROM base WHERE id_device=$id_dev;");

Но как в файле editstr.php получить два параметра и "name" и "id_device", когда туда передается только один "name" из всей строки базы.
И самое главное, как их "заткнуть" в соответствующие поля формы для корректировки

Вот форма

<form name=\"myForm\" method=\"post\" action=\"addbase.php\" >
<table align=\"center\" cellspacing=\"1\" width=\"80%\">;
<tr height=\"30\">;
<td align=\"center\" colspan=\"13\" bgcolor=\"#b8c4d7\"><h4>Исправить</h4></td>
</tr> <tr><td>Номер устройства</td>
<td><input type=\"text\" name=\"id_device\" id=\"id_device\" size=\"5\"/></td>
</tr><tr><td>Наименование устройства </td>
<td><input type=\"text\" name=\"name\" id=\"name\" size=\"50\"/></td>");
</tr> <tr>
...................... и т.д.
СПАСИБО!

  Ответить  
 
 автор: Trianon   (21.04.2009 в 16:07)   письмо автору
 
   для: km54   (21.04.2009 в 15:56)
 

Что мешает при составлении формы редактирования выполнить SELECT ?

  Ответить  
 
 автор: km54   (21.04.2009 в 16:25)   письмо автору
 
   для: Trianon   (21.04.2009 в 16:07)
 

Простите, тупым непонятно.
Если я пишу в файле editstr.php:

$name=$_GET['name'];
$del=mysql_query("SELECTE * FROM base WHERE name=$name;");

то все нормально, а если

$id_dev=$_GET['id_dev'];
$del=mysql_query("SELECTE * FROM base WHERE id_device=$id_dev;");

то получаю сообщение, что параметр не определен

  Ответить  
 
 автор: Trianon   (21.04.2009 в 16:35)   письмо автору
 
   для: km54   (21.04.2009 в 16:25)
 

При выполнении обоих операторов Вы получите синтаксическую ошибку.
А если SELECTE исправить на SELECT, то дальнейшее уже будет зависеть от того, как именно вызван скрипт. Ну и от структуры таблицы.
В любом случае, никаких сообщений этот код не выдает.
Как минимум, тупым этого не видно.

  Ответить  
 
 автор: km54   (21.04.2009 в 17:04)   письмо автору
 
   для: Trianon   (21.04.2009 в 16:35)
 

Извините, простая описка, а в коде действительно написано SELECT

$id_dev=$_GET['id_dev'];
$query="SELECT * FROM devise id_device=$id_dev";
$cont = mysql_query($query);

и выдается все равно
Notice: Undefined index: id_dev in x:\home\test.ru\www\15\editstr.php on line 4

  Ответить  
 
 автор: Trianon   (21.04.2009 в 17:18)   письмо автору
 
   для: km54   (21.04.2009 в 17:04)
 

>$id_dev=$_GET['id_dev'];
>$query="SELECT * FROM devise id_device=$id_dev";
>$cont = mysql_query($query);
>
>и выдается все равно
>Notice: Undefined index: id_dev in x:\home\test.ru\www\15\editstr.php on line 4
и строка 4 это $id_dev=$_GET['id_dev'];
то есть до запроса дело не доходит, и БД тут не при чем.

  Ответить  
 
 автор: GeorgeIV   (21.04.2009 в 16:39)   письмо автору
 
   для: km54   (21.04.2009 в 16:25)
 

<td><a href=delstr.php?id_dev=".$out['id_device']." >Delete</a>
<td><a href=editstr.php?name=".$out['name']."&".id_dev=".$out['id_device'].">Edit</a>

Так можешь сделать?

  Ответить  
 
 автор: Trianon   (21.04.2009 в 16:42)   письмо автору
 
   для: GeorgeIV   (21.04.2009 в 16:39)
 

не запутывайте человека.
Он про обработку ссылки пишет, а не формы.

  Ответить  
 
 автор: GeorgeIV   (21.04.2009 в 16:44)   письмо автору
 
   для: Trianon   (21.04.2009 в 16:42)
 

Заметил и исправился

  Ответить  
 
 автор: Trianon   (21.04.2009 в 16:46)   письмо автору
 
   для: GeorgeIV   (21.04.2009 в 16:44)
 

ага.
Только ему не нужно делать так, как Вы предложили.

  Ответить  
 
 автор: GeorgeIV   (21.04.2009 в 16:48)   письмо автору
 
   для: Trianon   (21.04.2009 в 16:46)
 

Но как в файле editstr.php получить два параметра и "name" и "id_device", когда туда
 передается только один "name" из всей строки базы

вот и передать два, они же оба присутствуют

  Ответить  
 
 автор: Trianon   (21.04.2009 в 16:55)   письмо автору
 
   для: GeorgeIV   (21.04.2009 в 16:48)
 

присутствуют оба.
А передавать достаточно один.

  Ответить  
 
 автор: GeorgeIV   (21.04.2009 в 17:11)   письмо автору
 
   для: Trianon   (21.04.2009 в 16:55)
 

тогда придется делать еще один запрос, чтобы получить второй параметр по первому, хотя он уже получен. Зачем?

  Ответить  
 
 автор: Trianon   (21.04.2009 в 17:21)   письмо автору
 
   для: GeorgeIV   (21.04.2009 в 17:11)
 

Затем что параметр этот был получен. На предыдущем шаге . На предыдущем запросе скрипта.
И соответственно, его проще извлечь из БД, чем передать с проверкой актуальности предыдущему запросу. Не говоря уже о том, что передавать текстовые параметры в принципе более сложно, чем числовые ключи.

  Ответить  
 
 автор: km54   (22.04.2009 в 08:56)   письмо автору
 
   для: Trianon   (21.04.2009 в 17:21)
 

Господа программисты! К Вам обращается надоевший ЧАЙНИК.
Погодите спорить. Подскажите просто, как в таблице
базы данных (см. ниже),

Номер Устройство Действие

1 Принтер Delete Edit
2 ............... Delete Edit
..... ............... Delete Edit

нажав на ссылку Edit занести все записи выбранной строки
в первоначальную форму ввода для последующей
корректировки (с Delet-ом проблем нет)
Спасибо!

  Ответить  
 
 автор: Trianon   (22.04.2009 в 09:01)   письмо автору
 
   для: km54   (22.04.2009 в 08:56)
 

Специально для чайников я как-то написал пример
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=18464

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования