PHP.SU

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

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

> Найдено сообщений: 47
Alex213 Отправлено: 01 Сентября, 2015 - 18:35:19 • Тема: Создание строк на jquery • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 931
andrewkard пишет:
Alex213 пишет:
все работает

в чем тогда проблема?

во первых при редактировании, я не могу настроить, чтоб нужные строчки добавлялись или удалялись. Ну и второе попробую объяснить, но не уверен, что получится. В общем когда жмем на плюс и добавляем несколько номеров, у них есть определенный идентификатор, а затем уже когда добавляем внутренние строчки, эти строчки принадлежат не отдельным номерам, а номеру который был нажат последним, т.е. принадлежат одному идентификатору, и тогда выходит что в базу не могу оправить как надо.

CODE (javascript):
скопировать код в буфер обмена
  1. function addFiel () {
  2.         var telnum = parseInt($('#add_field_area').find('div.add:last').attr('id').slice(3))+1;
  3.         $('div#add_field_area').append('<div id="add'+telnum+'" class="add"><label> Поле №'+telnum+'</label><input type="text" width="120" name="val[]" id="val"  value=""/><div id="ad_f"><div id="dob0" class="dob"></div><div onclick="addD();" class="addbutton">Еще новое</div></div><div class="deletebutton" onclick="deleteField('+telnum+');"></div></div>');
  4.  
  5. }
  6. function addD () {
  7.         var tel = parseInt($('#ad_f').find('div.dob:last').attr('id').slice(3))+1;
  8.         $('div#ad_f').append('<div id="dob'+tel+'" class="dob"></div><div onclick="addD();" class="addbutton">Еще новое</div></div><div class="deletebutton" onclick="deleteField('+tel+');">');
  9. }
  10. function deleteField (id) {
  11.         $('div#add'+id).remove();
  12. }

CODE (html):
скопировать код в буфер обмена
  1.  
  2. </script>
  3. <style>
  4. input {
  5.         height: 20px;
  6.         margin: 5px;
  7.         width:400px;
  8. }
  9. .addbutton {
  10.         text-align: center;
  11.         vertical-align:middle;
  12.         font-size: 13px;
  13.         width: 283px;
  14.         border: 1px solid #70A9FD;
  15.         -webkit-border-radius: 7px;
  16.         -moz-border-radius: 7px;
  17.         border-radius: 7px;
  18.         cursor: pointer;
  19.         margin: 2px 0 0 110px;
  20.         color: #326DC5;
  21.         padding: 4px;
  22.         background-color:#BED6FF;
  23. }
  24.  
  25. .deletebutton {
  26.         width: 20px;
  27.         height: 22px;
  28.         cursor: pointer;
  29.         margin: 5px;
  30.         display:inline-block;
  31.         background: url(delete.png) repeat;
  32.         background-position: center center;
  33.         background-repeat: no-repeat;
  34.         position:absolute;
  35.         top: 1px;
  36.         left: 480px;
  37. }
  38.  
  39. .add {
  40.         position:relative;
  41. }
  42. </style>
  43. </head>
  44.  
  45. <body>
  46.        <div id="add_field_area">
  47.          <div id="add0" class="add">
  48.          </div>
  49.         </div>
  50. <div onclick="addFiel();" class="addbutton">Добавить новое поле</div>

а вот есть еще один код с него тоже можно было бы что нибудь слепить, только здесь тоже проблемы, при нажатии кнопки Еще новое, она должна принадлежать конкретно одному полю, а у меня она дублируется на все открытые поля... Возможно можно как то исправить с помощью условия, но я пока не могу понять как
Alex213 Отправлено: 01 Сентября, 2015 - 18:04:02 • Тема: Создание строк на jquery • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 931
andrewkard пишет:
Alex213
JS с воздуха разметку не берет. Она должна быть, только спрятана или прописана в коде.
Но должна быть. Т.е. сначала верстают блок "Номер", а потом он выезжает по кнопке (или формируется а потом выезжает, что не суть важно.)


CODE (javascript):
скопировать код в буфер обмена
  1. var count_input = 0;
  2.  
  3.     $('#aa').on('click', '.add_m', function(){
  4.                 count_input++;  
  5.       var ptr = '<tr class="panel"><td>'+count_input+'</td><td class="sezon-l"><input name="add_sez['+count_input+'][]" type="text" maxlength="2"></td><td><a class="dele">-</a></td><td><table id="table"><thead><td class="add"><a class="plus">+</a></td><td class="seria-l">Сер номер</td><td class="name-l">Модель</td><td class="data-l">Выпуск</td></td></thead></table></td></tr>';        
  6.                   $(this).parent().after(ptr);
  7. var count_inp = 0;
  8. $('#table').on('click', '.add', function(){
  9.         count_inp++;
  10.       var str = '<tr><td>'+count_inp+'</td><td class="seria-l"><input name="add_sez['+count_input+'][two][]" type="text" maxlength="2"></td><td class="name-l"><input name="" type="text"></td><td class="data-l"><input name="add_data[]" type="text" maxlength="10"></td></td><td><a class="del">x</a></td></tr>';
  11.                   $(this).parent().after(str);
  12.                 })
  13. $('#table').on('click', '.del', function(){
  14.      $(this).parent().parent().remove();
  15.              })
  16.                 })
  17.    
  18. $('#aa').on('click', '.dele', function(){
  19.      $(this).parent().parent().remove();;
  20.              })

Вот код jquery, и если его ту часть html прописать вот на этом сайте все работает http://jsfiddle[dot]net/
Alex213 Отправлено: 01 Сентября, 2015 - 17:44:22 • Тема: Создание строк на jquery • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 931
andrewkard пишет:
Alex213
Для того что бы написать код JS нужна вся часть HTML.


CODE (html):
скопировать код в буфер обмена
  1.  
  2. <table id='aa'>
  3.     <tr>
  4.         <th class="add_m"><a class="plus">+</a></th>
  5.         <th>Номер</th>
  6.         <th></th>
  7.         </tr>
  8. </table>

Вот часть от html для того кода jquery. Или или вся часть html сейчас не об этом?
Alex213 Отправлено: 01 Сентября, 2015 - 16:42:18 • Тема: Создание строк на jquery • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 931
andrewkard пишет:
Alex213
Что то уже есть. Сама таблица в HTML сверстана?

Вообще есть кое-что, там все работает, только для отправки в базу данных не подходит и редактирования. Просто мои знания в jquery стремятся к нулю, а так вот предидущая тема http://forum.php.su/topic.php?fo...0&topic=6136
Там правда нет небольшой части html
Alex213 Отправлено: 01 Сентября, 2015 - 12:10:54 • Тема: Создание строк на jquery • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 931
Задача сделать чтоб с помощью jQuery
создавалась таблица, которая показана на рисунке.
При нажатии на плюсик выскакивает первая часть таблицы с вводом НОМЕР => затем при нажатии уже на другой плюсик, выскакивала остальная часть таблицы где нужно вводить СЕРИЯ.
Затем нужно чтоб данные заносиль в бд.
После этого нужно, чтоб можно было выводить из базы данных и редактировать, то что было введено, а так же при необходимости добавлять еще необходимые строки.
Мне нужна помощь именно в реализации jQuery кода, под выполнение вставки в базу данных и редактирования базы данных.
Помогите кто чем может, очень нужно.
Alex213 Отправлено: 31 Августа, 2015 - 12:11:48 • Тема: Поправить код на jquerry • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 1108
CODE (javascript):
скопировать код в буфер обмена
  1. var count_input = 0;
  2.  
  3.     $('#aa').on('click', '.add_m', function(){
  4.                 count_input++;  
  5.       var ptr = '<tr class="panel"><td>'+count_input+'</td><td class="sezon-l"><input name="add_sez['+count_input+'][]" type="text" maxlength="2"></td><td><a class="dele">-</a></td><td><table id="table"><thead><td class="add"><a class="plus">+</a></td><td class="seria-l">Сер номер</td><td class="name-l">Модель</td><td class="data-l">Выпуск</td></td></thead></table></td></tr>';        
  6.                   $(this).parent().after(ptr);
  7. var count_inp = 0;
  8. $('#table').on('click', '.add', function(){
  9.         count_inp++;
  10.       var str = '<tr><td>'+count_inp+'</td><td class="seria-l"><input name="add_sez['+count_input+'][two][]" type="text" maxlength="2"></td><td class="name-l"><input name="" type="text"></td><td class="data-l"><input name="add_data[]" type="text" maxlength="10"></td></td><td><a class="del">x</a></td></tr>';
  11.                   $(this).parent().after(str);
  12.                 })
  13. $('#table').on('click', '.del', function(){
  14.      $(this).parent().parent().remove();
  15.              })
  16.                 })
  17.    
  18. $('#aa').on('click', '.dele', function(){
  19.      $(this).parent().parent().remove();;
  20.              })

Есть таблица в которой добавляется НОМЕР при клике, затем внутри этой таблицы, при клике добавляются СЕР НОМЕР, МОДЕЛЬ, ВЫПУСК.
Суть в том что при добавлении НОМЕР 1, НОМЕР 2, при вставке определенного количества строчек СЕР НОМЕР, МОДЕЛЬ, ВЫПУСК они принимают значение последнего вставленного НОМЕРа.
Т.Е. :
НОМЕР 2
2)СЕР НОМЕР2, МОДЕЛЬ2, ВЫПУСК 2
1)СЕР НОМЕР2, МОДЕЛЬ2, ВЫПУСК 2
2)СЕР НОМЕР2, МОДЕЛЬ2, ВЫПУСК 2
1)СЕР НОМЕР2, МОДЕЛЬ2, ВЫПУСК 2
НОМЕР1
-------------------------------- --------

А нужно, чтоб было вот так
НОМЕР 2
2)СЕР НОМЕР2, МОДЕЛЬ2, ВЫПУСК 2
1)СЕР НОМЕР2, МОДЕЛЬ2, ВЫПУСК 2

НОМЕР1
2)СЕР НОМЕР1, МОДЕЛЬ1, ВЫПУСК 1
1)СЕР НОМЕР1, МОДЕЛЬ1, ВЫПУСК 1

Картинка с неправильным вариантом
Alex213 Отправлено: 31 Августа, 2015 - 10:48:55 • Тема: массив в массиве для input • Форум: Программирование на PHP

Ответов: 5
Просмотров: 384
DelphinPRO пишет:
Alex213 пишет:
А мне надо чтоб типо этого было

А в чем разница? Вас строковые ключи смущают?


Чтоб в базу данных вставить как надо
(Добавление)
с массивом разобрался, спасибо Viper, навел на путь истинный
Alex213 Отправлено: 31 Августа, 2015 - 10:12:25 • Тема: массив в массиве для input • Форум: Программирование на PHP

Ответов: 5
Просмотров: 384
Viper пишет:
для первой категории - add_sez[one][]
для второй категории - add_sez[two][]


Получается так:
Array
(
[one] => Array
(
[0] => 1
[1] => 2
)

[two] => Array
(
[0] => 1
[1] => 2
[2] => 1
[3] => 2
)

)
А мне надо чтоб типо этого было
Array
(
[1] => Array
(
[1]
[2]
)
[2] => Array
(
[1]
[2]
)
)
Alex213 Отправлено: 31 Августа, 2015 - 08:33:35 • Тема: массив в массиве для input • Форум: Программирование на PHP

Ответов: 5
Просмотров: 384
CODE (html):
скопировать код в буфер обмена
  1. <table id="aa">
  2.     <tbody>
  3.        <tr>
  4.         <th>Массив 1-ой кат</th>
  5.        </tr>
  6.        <tr class="panel">
  7.                 <td class="sez-l"><input name="add_sez[]" type="text" maxlength="2"></td>
  8.                 <td>
  9.                     <table id="table">
  10.                        <thead>
  11.                           <tr>
  12.                              <td class="ser-l">Массив 2-ой кат</td>
  13.                           </tr>
  14.                           <tr>
  15.                              <td class="ser-l"><input name="add_sez[ser]" type="text" maxlength="2"></td>
  16.                           </tr>
  17.                           <tr>
  18.                             <td class="ser-l"><input name="add_sez[ser]" type="text" maxlength="2"></td>
  19.                           </tr>
  20.                         </thead>
  21.                     </table>
  22.                  </td>  
  23.          </tr>
  24.    </tbody>
  25. </table>

PHP:
скопировать код в буфер обмена
  1. $sez_n = $_POST['add_sez'];
  2. $dar = $_POST['add_sez']['ser'];
  3. $par = $_POST['add_data'];
  4. if (is_array($sez_n)) {
  5. foreach ($sez_n as $ray => $value1):
  6. mysql_query("INSERT INTO mes_ser(id_ser, sez_n, ser_n)
  7.                        VALUES(                    
  8.                            '$serid',
  9.                            '$value1',
  10.                            '$value2'
  11.                           )");            
  12.     endforeach;
  13.  
  14.     }

Не могу разобраться как вывести массив такого типа для инпутов, массив первой категории получается вывести, второй категории нет
Alex213 Отправлено: 19 Августа, 2015 - 18:56:46 • Тема: Как добавить куки в данный код? • Форум: JavaScript & VBScript

Ответов: 1
Просмотров: 544
Данный код выполняет роль аккордеона, нужно чтоб были куки, не знаю как их правильно поставить, примеры вроде бы смотрел но не получается, туговат в этом))
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(function () {
  3.  
  4.     $('.accordion-header').on('click', function (e) {
  5.  
  6.         var $this = $(this);
  7.  
  8.         $this.parent('.accordion').toggleClass('expanded');
  9.  
  10.         $this.next('.accordion-collapse').toggle();
  11.  
  12.         $this.parent('.accordion').siblings('.accordion').removeClass('expanded').find('.accordion-collapse').hide();
  13.        
  14.         e.stopPropagation();
  15.  
  16.     });
  17.  
  18. });
  19.  


CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div class="container">
  3.     <div class="accordion-wrapper">
  4.         <div class="accordion">
  5.             <div class="accordion-header">
  6.                 <h3>Header 1</h3><a class="accordion-close">V</a>
  7.             </div>
  8.             <div class="accordion-collapse">
  9.                 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam nec magna at urna auctor eleifend eu vel enim. Nulla facilisi. Praesent interdum tortor a justo aliquet semper. Phasellus venenatis porttitor auctor. Mauris et gravida velit. Nunc tempus nunc velit, id lacinia nisl dignissim ac. Proin quis semper sapien. Vestibulum bibendum lorem nec ligula mattis posuere. Nullam suscipit, massa non dictum auctor, orci ligula condimentum sem, nec ultricies est lorem quis ante. Morbi placerat lacinia egestas.</p>
  10.             </div>
  11.         </div>
  12.         <div class="accordion">
  13.             <div class="accordion-header">
  14.                 <h3>Header 2</h3><a class="accordion-close">V</a>
  15.             </div>
  16.             <div class="accordion-collapse">
  17.                 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam nec magna at urna auctor eleifend eu vel enim. Nulla facilisi. Praesent interdum tortor a justo aliquet semper. Phasellus venenatis porttitor auctor. Mauris et gravida velit. Nunc tempus nunc velit, id lacinia nisl dignissim ac. Proin quis semper sapien. Vestibulum bibendum lorem nec ligula mattis posuere. Nullam suscipit, massa non dictum auctor, orci ligula condimentum sem, nec ultricies est lorem quis ante. Morbi placerat lacinia egestas.</p>
  18.             </div>
  19.         </div>
  20.         <div class="accordion">
  21.             <div class="accordion-header">
  22.                 <h3>Header 3</h3><a class="accordion-close">V</a>
  23.             </div>
  24.             <div class="accordion-collapse">
  25.                 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam nec magna at urna auctor eleifend eu vel enim. Nulla facilisi. Praesent interdum tortor a justo aliquet semper. Phasellus venenatis porttitor auctor. Mauris et gravida velit. Nunc tempus nunc velit, id lacinia nisl dignissim ac. Proin quis semper sapien. Vestibulum bibendum lorem nec ligula mattis posuere. Nullam suscipit, massa non dictum auctor, orci ligula condimentum sem, nec ultricies est lorem quis ante. Morbi placerat lacinia egestas.</p>
  26.             </div>
  27.         </div>
  28.     </div>
  29. </div>
  30.  


CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  body {
  3.     margin: 0;
  4.     padding: 0;
  5.     font-family: Verdana;
  6.     font-size: 12px;
  7. }
  8. .container {
  9.     padding: 20px;
  10. }
  11. .accordion-wrapper {
  12.     width: 80%;
  13. }
  14. .accordion {
  15.     margin: 0 0 20px;
  16. }
  17. .accordion-header {
  18.     display: table;
  19.     width: 100%;
  20.     padding: 10px;
  21.     background-color: #58ACFA;
  22.    border-radius: 3px;
  23.     color: #fff;
  24.    cursor: pointer;
  25. }
  26. .accordion-header h3 {
  27.     float: left;
  28.     width: 90%;
  29.     margin: 0;
  30. }
  31. .accordion-close {
  32.     display: block;
  33.     float: right;
  34.     width: 15px;
  35.     height: 15px;
  36.     position: relative;
  37.     text-indent: -9999px;
  38. }
  39. .accordion-close:after {
  40.     content:"";
  41.     display: block;
  42.     width: 0;
  43.     height: 0;
  44.     position: absolute;
  45.     top: 5px;
  46.     border-color: #fff transparent transparent;
  47.    border-style: solid;
  48.     border-width: 8px;
  49. }
  50. .accordion.expanded .accordion-close:after {
  51.     top: -3px;
  52.     border-color: transparent transparent #fff;
  53. }
  54. .accordion-collapse {
  55.     display: none;
  56.     padding: 0 10px;
  57. }
  58.  
Alex213 Отправлено: 31 Июля, 2015 - 12:56:36 • Тема: Как создать массив • Форум: Программирование на PHP

Ответов: 6
Просмотров: 385
[quote=Мелкий][/quote]
Спасибо конечно. Но все равно выводит не так как хотелось бы
PHP:
скопировать код в буфер обмена
  1. array(2) {
  2.   [1]=>
  3.   array(1) {
  4.     [3]=>
  5.     array(1) {
  6.       [2]=>
  7.       string(5) "value"
  8.     }
  9.   }
Alex213 Отправлено: 31 Июля, 2015 - 12:24:23 • Тема: Как создать массив • Форум: Программирование на PHP

Ответов: 6
Просмотров: 385
Мелкий пишет:
Всё.

Подскажите пожалуйста
Alex213 Отправлено: 31 Июля, 2015 - 12:08:43 • Тема: Как создать массив • Форум: Программирование на PHP

Ответов: 6
Просмотров: 385
[quote=Мелкий][/quote]
PHP:
скопировать код в буфер обмена
  1. $sql= "SELECT * FROM tt";
  2. $result = mysql_query($sql);
  3.  
  4. $rgOut = [];
  5. foreach ($result as $row) {
  6.     if (!isset($rgOut[ $row['mid'] ])) {
  7.         $rgOut[ $row['mid'] ] = [];
  8.     }
  9.     if (!isset($rgOut[ $row['mid'] ][ $row['nid'] ])) {
  10.         $rgOut[ $row['mid'] ][ $row['nid'] ] = [];
  11.     }
  12.     $rgOut[ $row['mid'] ][ $row['nid'] ][ $row['sid'] ] = 'value';
  13. }

Что я делаю не правильно?
Warning: Invalid argument supplied for foreach() in
Alex213 Отправлено: 31 Июля, 2015 - 10:16:31 • Тема: Как создать массив • Форум: Программирование на PHP

Ответов: 6
Просмотров: 385
Как сделать массив такого вида?

mid => 1
___nid => 1
_______sid => 1
_______sid => 2
_______sid => 3

___nid => 2
_______sid => 1
_______sid => 2

___nid = >3
________sid =>1
________sid =>2

и т.д. mid =>2 .....
Alex213 Отправлено: 29 Июля, 2015 - 18:21:29 • Тема: Как правильно вставить таблицу • Форум: Программирование на PHP

Ответов: 0
Просмотров: 182
PHP:
скопировать код в буфер обмена
  1. $sel=mysql_query("SELECT * FROM mes_u_v WHERE us_id=".$us." AND id_s=".$ser." AND  sez_n=".$sez."");
  2. $sel_all = mysql_fetch_assoc($sel);
  3. if (empty($sel_all)){
  4. mysql_query("INSERT INTO mes_u_v(us_id, id_s, sez_n, ser_n)
  5.              SELECT us_id, id_s, sez_n, ser_n
  6.                             FROM mes_us
  7.                                                          INNER JOIN mes ON id_s=".$ser." AND sez_n=".$sez."
  8.                                                          WHERE us_id=".$us."
  9.                                                          ORDER BY sez_n DESC
  10. ");} else {"";}

Смысл такой, есть таблица, и с помощью инсерт инто вставляется несколько строк таблицы, вставка происходит по сравнению 2, 3, 4 столбика. Когда у меня в таблице есть строчка, например с id1 из рисунка и мне с помощью команды надо вставить полностью таблицу из рисунка, она не вставляется потому что не соответствует условию if (empty($sel_all)). Ничего не могу придумать. Как сделать так, чтоб вставка происходила тогда, когда переменная не существует, и тогда, когда переменная уже имеет, одну или более строчек, с учетом того что вставляться должны те строчки, которых еще нет в базе

Страниц (4): [1] 2 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB