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 :: Как сделать редактирование данных

 PHP.SU

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


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

> Без описания
aljaska
Отправлено: 19 Октября, 2012 - 10:21:50
Post Id


Новичок


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


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




Добрый день. Есть сайт с базой данных, при поиске выводит на экран таблицу с кнопкой редактировать, при нажатии на которую должна выводиться форма с данными которые были в таблице, вот код
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. /*Поиск по логину*/
  3. /* Соединяемся с базой данных */
  4. require_once ('connect.php');
  5.  
  6. /* Таблица MySQL, в которой храниться данные */
  7. $table = "remont";
  8.  
  9. $query = mysql_query("SELECT * FROM $table WHERE Login='".$_POST['poisk']."'");
  10.  
  11.  
  12. echo ("
  13.  
  14. <html
  15.  
  16. <head>
  17.  
  18.    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
  19.  
  20.    <title>Результат</title>
  21.    
  22. <style type=\"text/css\">
  23. <!--
  24. body { font: 12px Georgia; color: #666666; }
  25. h3 { font-size: 16px; text-align: center; }
  26. table { width: 700px; border-collapse: collapse; margin: 0px auto; background: #E6E6E6; }
  27. td { padding: 3px; text-align: center; vertical-align: middle; }
  28. .buttons { width: auto; border: double 1px #666666; background: #D6D6D6; }
  29. -->
  30. </style>
  31.  
  32. </head>
  33.  
  34. <body>
  35.  
  36. <h3>Результат</h3>
  37.  
  38. <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
  39. <tr style=\"border: solid 1px #000\">
  40.  <td><b>#</b></td>
  41.  <td align=\"center\"><b>Исполнитель</b></td>
  42.  <td align=\"center\"><b>Статус</b></td>
  43.  <td align=\"center\"><b>Дата</b></td>
  44.  <td align=\"center\"><b>Дата завершение</b></td>
  45.  <td align=\"center\"><b>Логин</b></td>
  46.  <td align=\"center\"><b>Телефон</b></td>
  47.  <td align=\"center\"><b>Адрес</b></td>
  48.  <td align=\"center\"><b>Тип включения</b></td>
  49.  <td align=\"center\"><b>База</b></td>
  50.  <td align=\"center\"><b>Суть заявки</b></td>
  51.  <td align=\"center\"><b>Результат, коментарий</b></td>
  52.  <td align=\"center\"><b>Редактировать</b></td>
  53.  
  54.  
  55. </tr>
  56.  
  57. ");
  58.  
  59.  
  60.  
  61. /* Цикл вывода данных из базы конкретных полей  res*/
  62.  
  63. while ($row = mysql_fetch_array($query)) {
  64.     echo "<tr>\n";
  65.     echo "<td>".$row['id']." </td>\n";
  66.     echo "<td>".$row['Kto']." </td>\n";
  67.     echo "<td>".$row['Status']."</td>\n";
  68.     echo "<td>".$row['Dt']."</td>\n";
  69.     echo "<td>".$row['Data_end']."</td>\n";
  70.         echo "<td>".$row['Login']."</td>\n";
  71.         echo "<td>".$row['Telefon']."</td>\n";
  72.         echo "<td>".$row['Adres']."</td>\n";
  73.         echo "<td>".$row['Tip_vkl']."</td>\n";
  74.     echo "<td>".$row['Baza']."</td>\n";
  75.         echo "<td>".$row['Sut']."</td>\n";
  76.         echo "<td>".$row['Rezult']."</td>\n";
  77.        
  78.             echo "<form action='update.php' method='POST'>    ";
  79.         echo "<td><input type='SUBMIT' value='Редактировать'>";
  80.         echo "</form>";
  81.        
  82. }
  83. /* Закрываем соединение */
  84.  
  85.  
  86. ?>


update.php тут будет форма в которую нужно поместить данные из поиска, которые можно изменить а потом сохранить. как-то так это я себе представляю, заранее спасибо.
 
 Top
alnik-75
Отправлено: 19 Октября, 2012 - 12:19:45
Post Id



Посетитель


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


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




Буквально неделю назад столкнулся с такой же задачей. Решил таким образом. Во-первых-сохранил в БД все значения Option всех селектов. Далее, на странице, где осуществляется редактирование данных, ст роится форма. В цикле вносятся из базы значения Option и тут же в этом цикле эти значения сравниваются с данными, внесенными пользователем. При совпадении в Option выставляется значение selected="selected"
(Добавление)
Для текстовых полей в режиме редактирование подставлял в VALUE данные, внесенные пользователем.
В случаях с чекбоксами, их значение сравнивал с данными , введенными пользователем , и при совпадении checked="checked"
(Добавление)
Для текстовых полей в режиме редактирование подставлял в VALUE данные, внесенные пользователем.
В случаях с чекбоксами, их значение сравнивал с данными , введенными пользователем , и при совпадении checked="checked"
 
 Top
aljaska
Отправлено: 19 Октября, 2012 - 13:32:43
Post Id


Новичок


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


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




я наверное неправильно сформулировал вопрос, вот форма для редактирования
PHP:
скопировать код в буфер обмена
  1. <html  remont>
  2.  
  3. <head>
  4.  
  5.     <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  6.  
  7.     <title>Форма редактирования</title>
  8.  
  9. <style type="text/css">
  10. <!--
  11. body { font: 12px Georgia; color: #666666; }
  12. h3 { font-size: 16px; text-align: center; }
  13. table { width: 450px; border-collapse: collapse; margin: 0px auto; background: #E6E6E6; }
  14. td { padding: 3px; }
  15. input { width: 250px; border: solid 1px #CCCCCC; }
  16. textarea { width: 250px; height: 100px; border: solid 1px #CCCCCC; }
  17. .buttons { width: auto; border: double 1px #666666; background: #D6D6D6; }
  18. -->
  19. </style>
  20.  
  21. </head>
  22.  
  23. <body>
  24.  
  25. <h3>Форма редактирования</h3>
  26.  
  27. <form action="save_form.php" method="post" name="remont">
  28.   <table border="1" cellpadding="0" cellspacing="0">
  29.     <tr>
  30.         <td colspan="2" align="center"><strong>Редактирование заявки </strong></td>
  31.     </tr>
  32.  
  33.  
  34. <tr>
  35.     <td width="150">Тип заявки :</td>
  36.         <td>
  37.             <select size="1" name="Tip_vkl" style="width:100px;" >
  38.                 <option value='Radio'>Радио</option>
  39.                 <option value='Domashka'>Домашка</option>
  40.                 <option value='Kabel'>Кабельное</option>
  41.                     <option value='Drugoe'>Другое</option>
  42.             </select>
  43.             </td>
  44.            
  45.  
  46. </tr>
  47.        
  48.  
  49. <tr>
  50.     <td width="150">Исполнитель :</td>
  51.         <td>
  52.             <select size="1" name="Kto" style="width:100px;" >
  53.                 <option value='Dima'>Дима</option>
  54.                 <option value='Kolja'>Коля</option>
  55.                 <option value='Sasha'>Саша</option>
  56.                     <option value='Drugoe'>Другое</option>
  57.             </select>
  58.             </td>
  59.            
  60.  
  61. </tr>  
  62.  
  63.  
  64. <tr>
  65.     <td  width="150">Статус :</td>
  66.             <td>
  67.           <select size="1" name="Status" style="width:100px;" >
  68.                     <option value='         '>         </option>
  69.                 <option value='Zaver'>Завершено</option>
  70.                 <option value='Vydano'>Выдано</option>
  71.                 <option value='Otlojeno'>Отложено</option>
  72.                     <option value='Gotovo'>Готово</option>
  73.                     <option value='New'>Новые</option>
  74.           </select>
  75.            </td>
  76. <tr>   
  77.  
  78.  
  79. <tr>
  80.   <td width="150">Дата :</td>
  81.   <td><input type="text" name="Dt" maxlength="30"  /></td>
  82. </tr>
  83.  
  84.  <tr>
  85.   <td width="150">Дата завершения :</td>
  86.   <td><input type="text" name="Data_end" maxlength="30"  /></td>
  87. </tr>
  88.  
  89.  
  90. <tr>
  91.    <td width="150">Логин :</td>
  92.   <td><input type="text" name="Login" maxlength="30" /></td>
  93. </tr>
  94.  
  95. <tr>
  96.   <td width="150">Телефон:</td>
  97.   <td><input type="text" name="Telefon" maxlength="30" /></td>
  98. </tr>
  99.  
  100.  
  101. <tr>
  102.   <td width="150">Адрес :</td>
  103.   <td><input type="text" name="Adres" maxlength="30" /></td>
  104. </tr>
  105.  
  106.  
  107. <tr>
  108.   <td width="150">База :</td>
  109.     <td>
  110.         <select size="1" name="Baza" style="width:100px;" >
  111.                     <option value='Net'>   </option>   
  112.             <option value='MS1'>MS1</option>
  113.             <option value='MS2'>MS2</option>
  114.             <option value='MS3'>MS3</option>
  115.                 <option value='St'>St</option>
  116.           </select>
  117.         </td>
  118.            
  119.  
  120. </tr>
  121.  
  122.  
  123. <tr>
  124.   <td width="150">Суть заявки:</td>
  125.   <td><textarea name="Sut"></textarea></td>
  126. </tr>
  127.  
  128. <tr>
  129.   <td width="150">Результат:</td>
  130.   <td><input type="text" name="Rezult" maxlength="30" /></td>
  131. </tr>
  132.  
  133.  
  134.  
  135. <tr>
  136.   <td colspan="2" align="center">
  137.      <input type="submit" class="buttons" value="Отправить" />
  138.      <input type="reset" class="buttons" value="Очистить" />
  139.   </td>
  140. </tr>
  141.  
  142. </table>
  143. </form>
  144.  
  145. </body>
  146. </html>

нужно чтобы в полях Статус, Дата, Исполнитель, и тд. были значения те которые показал поиск

(Отредактировано автором: 19 Октября, 2012 - 13:33:22)

 
 Top
alnik-75
Отправлено: 19 Октября, 2012 - 13:55:19
Post Id



Посетитель


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


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




Почитайте!!!! я ведь про это и написал
 
 Top
aljaska
Отправлено: 19 Октября, 2012 - 14:10:41
Post Id


Новичок


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


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




я то прочитал, просто плохо понимаю (только учусь), а зачем сохранять значение а потом сравнивать, а если взять из первого примера id передать в второй, там по id найти все данные и отобразить в форме редактирования, сменить что нужно и сохранить в базе. как-то так это я себе представляю (сильно не ругайте за тупость я только учусь)



PS а если в первый файл добавить
PHP:
скопировать код в буфер обмена
  1. echo "<form action='update.php' method='POST'>    ";
  2.         echo "<option value=' ".$row['id']." ' </option>";
  3.         echo "</form>";
он передаст id или нет

(Отредактировано автором: 19 Октября, 2012 - 14:45:25)

 
 Top
alnik-75
Отправлено: 19 Октября, 2012 - 15:36:29
Post Id



Посетитель


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


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




можно и не сохранять в базе. Просто у меня куча селектов и в каждом много optionов. Если не сохранять, то код разрастается, а так в цикле прогнал все и в коде всего пару строк. да id укажется в том случае если вы из базы вытащите его
(Добавление)
неправильно сказал. в селектах на нужном оption нужно выставлять значение selected
(Добавление)
это в INPUTах нужно вставлять в VALUE
 
 Top
FIZy
Отправлено: 19 Октября, 2012 - 16:21:47
Post Id


Новичок


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


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




aljaska пишет:
PS а если в первый файл добавить ... он передаст id или нет

Ты в файле update.php напиши
и он выведет тебе весь массив POST, посмотришь есть он тама или нет.

(Отредактировано автором: 19 Октября, 2012 - 16:25:20)

 
 Top
alnik-75
Отправлено: 19 Октября, 2012 - 16:30:44
Post Id



Посетитель


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


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




Блин!!! еще раз рассказываю. На странице, где редактируешь формы, делаешь запрос к базе и выбираешь данные, введенные пользователем. Далее вносишь в поле "Исполнитель" value="<?phpecho $rows['ispolnitel'];?>"

В Селектах делаешь так

<option value="1111111" <?php if($rows['zakaz']=="1111111"){?>selected="selected"<?php }?>>1111111</option>
 
 Top
aljaska
Отправлено: 29 Октября, 2012 - 10:53:03
Post Id


Новичок


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


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




alnik-75 пишет:
Блин!!! еще раз рассказываю. На странице, где редактируешь формы, делаешь запрос к базе и выбираешь данные, введенные пользователем. Далее вносишь в поле "Исполнитель" value="<?phpecho $rows['ispolnitel'];?>"

В Селектах делаешь так

<option value="1111111" <?php if($rows['zakaz']=="1111111"){?>selected="selected"<?php }?>>1111111</option>



и снова я делаю что-то не так думаю проблема у меня в запросе к базе данных выводит только первый логин из базы данных
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.          
  4.          require_once ('connect.php');
  5.          /* Таблица MySQL, в которой храниться данные */
  6.          $table = "remont";
  7.                  
  8.         $query = mysql_query("SELECT * FROM $table");
  9.                 $rows = mysql_fetch_assoc($query);
  10.                
  11.          ?>

или я что делаю не так?

(Отредактировано автором: 29 Октября, 2012 - 13:25:09)

 
 Top
aljaska
Отправлено: 29 Октября, 2012 - 14:07:41
Post Id


Новичок


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


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




немного изменил
 
 Top
aljaska
Отправлено: 30 Октября, 2012 - 09:07:21
Post Id


Новичок


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


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




нашел решение в первый файл добавил
PHP:
скопировать код в буфер обмена
  1.  
  2.                  echo "<form action='update.php' method='post'>";
  3.                  echo "<input type='hidden' name='Login1' value=".$row['id'].">";
  4.                  echo "<td><input type='SUBMIT' value='Редактировать'>";
  5.                  echo "</form>";
  6.  


во втором сделал так
PHP:
скопировать код в буфер обмена
  1.  
  2.        require_once ('connect.php');
  3.          /* Таблица MySQL, в которой храниться данные */
  4.          $table = "remont";      
  5.            $result = mysql_query("SELECT * FROM $table WHERE id='".$_POST['Login1']."'");
  6.                $row = mysql_fetch_assoc($result);  
  7.                
  8.                  
  9.                
  10.  


пока работает
 
 Top
aljaska
Отправлено: 14 Ноября, 2012 - 16:21:11
Post Id


Новичок


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


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




(Буквально неделю назад столкнулся с такой же задачей. Решил таким образом. Во-первых-сохранил в БД все значения Option всех селектов. Далее, на странице, где осуществляется редактирование данных, ст роится форма. В цикле вносятся из базы значения Option и тут же в этом цикле эти значения сравниваются с данными, внесенными пользователем. При совпадении в Option выставляется значение selected="selected") пришел к выводу что мне нужно делать именно так, когда сохраняю код такой
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.        
  3.         /* Соединяемся с базой данных */
  4. require_once ('connect.php');
  5.  
  6. $ddquery = mysql_query ('SELECT * FROM Baza') or die();
  7.  
  8. $data = array();
  9. while ($dropd = mysql_fetch_assoc($ddquery))
  10.     $data[] = $dropd;
  11. ?>
  12.        
  13.        
  14.        
  15.         <?PHP
  16.         mysql_close();
  17.         ?>
  18.  
  19.  
  20. <tr>
  21.   <td width="150">База :</td>
  22.      <td>
  23.     <select size="1" name="Baza" style="width:100px;" >
  24.           <?PHP foreach ($data as $dropd) : ?>
  25.         <option value="<?PHP echo $dropd['sektor']?>"> <?PHP echo $dropd['sektor'] ?></option>
  26.     <?PHP endforeach ?>
  27.     </select>
  28.         </td>
  29. </tr>
а как вставить в
CODE (html):
скопировать код в буфер обмена
  1. <tr>
  2.   <td width="150">База :</td>
  3.     <td>
  4.         <select size="1" name="Baza" style="width:100px;" >
  5.                     <option value='Net'>   </option>  
  6.             <option value='MS1'>MS1</option>
  7.             <option value='MS2'>MS2</option>
  8.             <option value='MS3'>MS3</option>
  9.                 <option value='St'>St</option>
  10.           </select>
  11.         </td>
  12.            
  13.  
  14. </tr>
при редактировании, непойму
 
 Top
alnik-75
Отправлено: 15 Ноября, 2012 - 12:36:45
Post Id



Посетитель


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


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




CODE (html):
скопировать код в буфер обмена
  1.  
  2.  
  3. <tr>
  4.   <td width="150">База :</td>
  5.     <td>
  6.         <select size="1" name="Baza" style="width:100px;" >
  7.                     <option value='Net' <?php if($option_value=='Net'){?>selected="selected"<?php }?>   </option>  
  8.             <option value='MS1' <?php if($option_value=='MS1'){?>selected="selected"<?php }?>MS1</option>
  9.             <option value='MS2' <?php if($option_value=='MS2'){?>selected="selected"<?php }?>MS2</option>
  10.             <option value='MS3' <?php if($option_value=='MS3'){?>selected="selected"<?php }?>MS3</option>
  11.                 <option value='St' <?php if($option_value=='St'){?>selected="selected"<?php }?>St</option>
  12.           </select>
  13.         </td>
  14.            
  15.  
  16. </tr>
  17.  
  18.  

(Добавление)
$option_value-это значение, которое было введено пользователем и далее занесено было в БД
(Добавление)
$option_value-это значение, которое было введено пользователем и далее занесено было в БД
 
 Top
aljaska
Отправлено: 16 Ноября, 2012 - 08:14:51
Post Id


Новичок


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


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




alnik-75 пишет:
CODE (html):
скопировать код в буфер обмена
  1.  
  2.  
  3. <tr>
  4.   <td width="150">База :</td>
  5.     <td>
  6.         <select size="1" name="Baza" style="width:100px;" >
  7.                     <option value='Net' <?php if($option_value=='Net'){?>selected="selected"<?php }?>   </option>  
  8.             <option value='MS1' <?php if($option_value=='MS1'){?>selected="selected"<?php }?>MS1</option>
  9.             <option value='MS2' <?php if($option_value=='MS2'){?>selected="selected"<?php }?>MS2</option>
  10.             <option value='MS3' <?php if($option_value=='MS3'){?>selected="selected"<?php }?>MS3</option>
  11.                 <option value='St' <?php if($option_value=='St'){?>selected="selected"<?php }?>St</option>
  12.           </select>
  13.         </td>
  14.            
  15.  
  16. </tr>
  17.  
  18.  

(Добавление)
$option_value-это значение, которое было введено пользователем и далее занесено было в БД
(Добавление)
$option_value-это значение, которое было введено пользователем и далее занесено было в БД


тоесть если я добавляю новую базу то мне нужно будет добавлять и в селекты тоже, просто список баз хранится в отдельной таблице с которой я выбираю базы
 
 Top
alnik-75
Отправлено: 16 Ноября, 2012 - 08:31:56
Post Id



Посетитель


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


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




да, в одной таблице храните значения OPTION, используемые в конкретном селекте, а в другой таблице, данные, выбранные пользователем. Далее, при построении селекта, сравниваете значения OPTION с данными, полученными от пользователя
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB