Автор Тема: Въпрос за сериализация и запис в база данни  (Прочетена 738 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Knoppix

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 3
  • -Получени: 0
  • Публикации: 67
Здравейте,

имам форма която с помощта на js добавям допълнителни полета
ето го кода
Код: PHP
  1. <table id="learningTable" class="form">
  2. <tr>
  3. <td>
  4. <?php
  5.  
  6. $sql = "SELECT * FROM teacher_subjects";
  7. $result = mysql_query($sql);
  8.  
  9. echo '<select id="teach_skill" name="teach_skill" tabindex="6" style="width:150px;" class="selmenu" >';
  10. echo '<option value="Choose">Subject</option>';
  11. while ($row = mysql_fetch_array($result)) {
  12.     echo "<option value='" . $row['subject_name'] . "'>" . $row['subject_name'] . "</option>";
  13. }
  14. echo "</select>";
  15.  
  16. ?>
  17. </td>
  18. <td>
  19. <?php
  20.  
  21. $sql = "SELECT * FROM subject_skill_level";
  22. $result = mysql_query($sql);
  23.  
  24. echo '<select id="teach_skill" name="teach_skill" tabindex="6" style="width:150px;" class="selmenu">';
  25. echo '<option value="Choose">Skill</option>';
  26. while ($row = mysql_fetch_array($result)) {
  27.     echo "<option value='" . $row['skill_name'] . "'>" . $row['skill_name'] . "</option>";
  28. }
  29. echo "</select>";
  30.  
  31. ?>
  32. </td>
  33. </tr>
  34. </table>
  35. <span class="btn btn-default btn-file" style="float:right; margin-left:3px; margin-top:10px; width:180px" onClick="addRow('learningTable')">More</span>
  36.  

ПРи на тискане на бутона More се добавя още един ред с двата селекта
как мога да направя така че двата селекта да ги записвам в база данни чрез php  двата са с едно id И name
Това е JS
Код: Javascript
  1. function addRow(tableID) {
  2.         var table = document.getElementById(tableID);
  3.         var rowCount = table.rows.length;
  4.         if(rowCount < 5){                                                       // limit the user from creating fields more than your limits
  5.                 var row = table.insertRow(rowCount);
  6.                 var colCount = table.rows[0].cells.length;
  7.                 for(var i=0; i<colCount; i++) {
  8.                         var newcell = row.insertCell(i);
  9.                         newcell.innerHTML = table.rows[0].cells[i].innerHTML;
  10.                 }
  11.         }else{
  12.                  alert("Maximum Passenger per ticket is 5.");
  13.                            
  14.         }
  15. }
  16.  
И за да съм по конктретен въпроса ми е как мога при добавяне на реда на таблицата да променям името на селекта например teach_skill[1]; 2 i tn ..
« Последна редакция: 02 Февруари 2016, 22:15:23 от Knoppix »

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Въпрос за сериализация и запис в база данни
« Отговор #1 -: 03 Февруари 2016, 00:00:56 »
http://php.net/manual/en/faq.html.php#faq.html.arrays

Ако промениш name атрибута на select елементите ще се получи масив (например name="teach_skill[]"), и ще избегнеш еднаквите имена.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

Knoppix

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 3
  • -Получени: 0
  • Публикации: 67
Re: Въпрос за сериализация и запис в база данни
« Отговор #2 -: 03 Февруари 2016, 07:42:13 »
Това го разбрах въпроса е как да променя атрибута на елеметна

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Въпрос за сериализация и запис в база данни
« Отговор #3 -: 03 Февруари 2016, 20:20:54 »
Относително трудно и с доста мазане става с чист JavaScript, държиш ли на него или има вариант и с jQuery? По принцип е хубаво да си работиш директно с елементите, които искаш да променяш (в твоя случай select-ите). Сега като клонираш целия ред, ще трябва да търсиш какви елементи има в него и да променяш тях, а не се сещам за лесен начин да направиш това без някаква библиотека.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 120
  • -Получени: 73
  • Публикации: 995
  • Кибик
Re: Въпрос за сериализация и запис в база данни
« Отговор #4 -: 05 Февруари 2016, 20:42:51 »
1. В html-a е недопустимо да се дублират id-та !!!
2. Послушай Адаша(Avalanche), с jQuery ще е най-добре!
3. съвет: Аз не ползвам сериализация, а само json.
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой