Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: update

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
b0d
Отправлено: 14 Января, 2014 - 21:55:34
Post Id


Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Доброго времени суток.
У меня такая непонятка получилась, прошу обьяснить в чем моя ошибка.
В таблице vote есть колонка "id", "title", "votes".
Есть обработчик, благодаря которому я могу из админки изменять (к примеру) количество голосов в "votes".
Вот так он у меня выглядит:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ("bd.php");
  3. if ($_SESSION['id'] !=='6')
  4. {
  5. header('Location: http://php.su');
  6. }      
  7.  
  8. $id=$_POST['id'];
  9. $title=$_POST['title'];
  10. $votes=$_POST['votes'];
  11. if (isset($id)&& isset($title)&& isset($votes))
  12.                 {
  13. $result=mysql_query("UPDATE vote SET votes='$votes', title='$title'
  14. where id='$id'",$link) or die(mysql_error());
  15.         if ($result=='true')
  16.         {
  17.         echo "<p>Информация обновлена</p>";
  18.                 }
  19.         else
  20.         {
  21.         echo "<p>Не удалось!</p>";
  22.         }
  23.         }
  24. ?>
  25.  


В самой админке, корректирую через такую форму:
PHP:
скопировать код в буфер обмена
  1.  
  2. <form action="upvote.php" method="post" enctype="multipart/form-data">
  3. <?PHP
  4.     $query = mysql_query('SELECT * FROM vote');
  5.     while($user = mysql_fetch_array($query))
  6.     {
  7.                 echo "<input type='text' size='2' name='id' value='$user[id]'>";
  8.                 echo "<input type='text' size='33' name='title' value='$user[title]'>";
  9.                 echo "<input type='text' size='2' name='votes' value='$user[votes]'>" ;
  10.                 echo "<input type='submit' formaction='dell.php' value='Удалить'>";
  11.     }
  12. ?>
  13. <input type="submit" name="submit" value="Сохранить!">
  14. </form>
  15. ...
  16. ?>


При нажатии на кнопку "Сохранить" - сохраняет только последнюю строку. Почему только ее и что исправить, дабы сохраняло Все изменения?

(Отредактировано автором: 14 Января, 2014 - 21:57:02)

 
 Top
KingStar
Отправлено: 14 Января, 2014 - 22:28:28
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




может ты не в том файле принимаешь, у тебя и action указан, и formaction


-----
То что программа работает, не означает что она написана правильно!
 
 Top
b0d
Отправлено: 14 Января, 2014 - 22:30:12
Post Id


Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Но последняя строка ведь работает четко. Да и "Удалить" тоже все правильно исполняет!)

(Отредактировано автором: 14 Января, 2014 - 22:37:07)

 
 Top
KingStar
Отправлено: 14 Января, 2014 - 22:30:15
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




а, и в форме поля нужны вида



дальше ты получаешь массив, и обновлять нужно уже в цикле


-----
То что программа работает, не означает что она написана правильно!
 
 Top
b0d
Отправлено: 14 Января, 2014 - 22:32:54
Post Id


Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




а если к каждой строке выводить кнопку "Сохранить" ,так же как и "Удалить"?
 
 Top
KingStar
Отправлено: 14 Января, 2014 - 22:46:08
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




тогда на каждую кнопку должна быть своя форма


-----
То что программа работает, не означает что она написана правильно!
 
 Top
b0d
Отправлено: 14 Января, 2014 - 23:08:34
Post Id


Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




или же сделать селектом типа
CODE (html):
скопировать код в буфер обмена
  1.   <form action="select.php" method="post">
  2.    <p><select size="3" multiple name="hero[]">
  3.     <option disabled>Выберите действие</option>
  4.     <option value="dell">Delete</option>
  5.     <option value="upd">Update</option>
  6.     </select></p>
  7.    <p><input type="submit" value="Выбрать действие"></p>


а в обработчике уже
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. ...
  3. if ($_POST['upd'])
  4. {
  5. $result=mysql_query("UPDATE vote SET votes='$votes', title='$title'
  6. where id='$id'",$link) or die(mysql_error());
  7. }
  8. else {
  9. mysql_query("DELETE FROM vote WHERE `id` ='$id'");
  10. }
  11. ?>

Хотя, наверное лучше идти спать, а завтра с чистой головой все получится за 5 минут)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB