Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148

Запись в массив чисел из текстовых полей и их вывод

29.11.2012, 01:02. Показов 5529. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я уже писал две темы, но вопрос так и остался не решённым. Через цикл выводится некоторое число тестовых полей (как ячейки таблицы), в эти поля пишутся числа, нажимается кнопка и нужно что бы эти числа записались в новый массив, который потом выводится с теми (записанными) числами, ниже текстовых полей. Сколько не пытался но не получается, не работает.

Вот сырой код проекта:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<form method="post">
  <input type="text" name="array" />
  <input type="submit" name="button" value="ok" />
 <input type="submit" name="bsort" value="ok" /> 
 
</form>
 
 <?php
 
if (isset($_POST['button'])) 
{
  if (!empty($_POST['array']) && is_numeric($_POST['array']))
  {
    echo '<table>';
    for($i=0; $i < $_POST['array']; $i++)  {
      echo '<tr><td><input type="text" name="pole" ><td></tr>';
     
    }
 
      echo '</table>';
     
 }
  else {
    echo 'Только числа!';
  }
}
 
if (isset($_POST['bsort'])) {
 
     
  for ($i = 0; $i < ($_POST['pole']); $i++)  {
 
$pole = (int)$_POST['pole']; 
 
sort($pole);
 
    } 
    
   $count  = ($pole);
 
   for ($i = 0; $i < $count; $i++) {
          echo $pole[$i] . '<br />';  
       } 
 
  } 
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2012, 01:02
Ответы с готовыми решениями:

Запись в mysql из множества текстовых полей POST
Добрый день! Возникла задача добавить в базу данных из формы, просто добавить данные из формы не проблема, ну там где пару форм. Пр.1...

Сравнение текстовых полей и вывод отличий
Добрый день. Есть 2 столбца в которых находятся данные - в 1 столбце ПН, ВТ, СР, ЧТ, ПТ, СБ , ВС, во втором ВТ, СР, ЧТ, ПТ В...

Как произвести запись в БД с текстовых полей на форме или других контроллов
пишу на vb10, подскажите плиз как мне записывать введеную в текстовые поля инфу в бд? к примеру фио в таблицу1, Данные родителей в таблицу...

14
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
29.11.2012, 01:45
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form method="post">
<?php if (empty($_POST)) : ?>
    <input type="text" name="array" />
<?php elseif (isset($_POST['array']) && ($n = (int)$_POST['array']) > 0) : ?>
    <input type="hidden" name="array" value="<?php echo $n ?>" />
    <?php while ($n > 0) : $n--; ?>
    <div><input type="text" name="pole[]" /></div>
    <?php endwhile ?>
<?php endif ?>
    <input type="submit" name="button" value="ok" />
</form>
 
<?php
if (isset($_POST['pole']) && is_array($_POST['pole'])) {
    echo implode(', ', $_POST['pole']);
}
0
3 / 3 / 2
Регистрация: 13.08.2012
Сообщений: 53
29.11.2012, 02:15
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<form method="post" action="testing.php">
  <input type="text" name="array" />
  <input type="submit" name="button" value="ok" />
</form>
 <?php
if (isset($_POST['button'])) 
{
  if (!empty($_POST['array']) && is_numeric($_POST['array']))
  {?><form method="post" action="testing.php"><?php
    echo '<table>';
    for($i=0; $i < $_POST['array']; $i++)  {
      echo '<tr><td><input type="text" name="pole'.$i.'"/ ><td></tr>';     
    } 
      echo '</table>';
    ?><input type="submit" name="bsort" value="ok" /><?php 
 }
  else {
    echo 'Только числа!';
  }
}
if (isset($_POST['bsort'])) {
$i=0;
    while(isset($_POST['pole'.$i])){
    echo ($_POST['pole'.$i]).'<br>';
    $i++;
}   
  } 
 
?>
Опоздал)
1
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
29.11.2012, 02:21
psk-ru, какой смысл делать разные имена для полей, что бы потом в цикле ещё раз их делать и проверять есть ли такое имя, если можно просто к имени поля подставить [] и пхп гораздо быстрей само сделает их этого массив?

И, если верить условию, то выводить массив нужно вроде как ниже текстовых полей, а раз там множественное число, то видимо поля должны остаться, которые созданы после первого нажатия
1
3 / 3 / 2
Регистрация: 13.08.2012
Сообщений: 53
29.11.2012, 07:06
Ну, вообще то вы правы
0
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148
29.11.2012, 09:32  [ТС]
Большое спасибо, дело тронулось. А что бы поля текстовые остались, как я понимаю, нужно просто ещё один масси объявить и в него те записанные значения сохранить, а потом вывести ниже?!
0
3 / 3 / 2
Регистрация: 13.08.2012
Сообщений: 53
29.11.2012, 09:56
Цитата Сообщение от Bllaaa Посмотреть сообщение
Большое спасибо, дело тронулось. А что бы поля текстовые остались, как я понимаю, нужно просто ещё один масси объявить и в него те записанные значения сохранить, а потом вывести ниже?!
во 2м посте как раз такой код, который вам нужен
0
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148
29.11.2012, 22:46  [ТС]
Скажите, А как сделать так, что бы в вашем варианте записи кода, текстовые поля оставались, а ниже их уже выводились числа?

Добавлено через 1 час 29 минут
psk-ru, и сколько не пытался - никак не получается применить функцию сортировки вывести, уже отсортированный массив.
0
3 / 3 / 2
Регистрация: 13.08.2012
Сообщений: 53
30.11.2012, 00:37
Цитата Сообщение от Bllaaa Посмотреть сообщение
Скажите, А как сделать так, что бы в вашем варианте записи кода, текстовые поля оставались, а ниже их уже выводились числа?
Добавлено через 1 час 29 минут
psk-ru, и сколько не пытался - никак не получается применить функцию сортировки вывести, уже отсортированный массив.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<form method="post" action="testing.php">
  <input type="text" name="array" />
  <input type="submit" name="button" value="ok" />
</form>
 <?php
if (isset($_POST['button'])) 
{
  if (!empty($_POST['array']) && is_numeric($_POST['array']))
  {?><form method="post" action="testing.php"><?php
    echo '<table>';
    for($i=0; $i < $_POST['array']; $i++)  {
      echo '<tr><td><input type="text" name="pole'.$i.'"/ ><td></tr>';     
    } 
      echo '</table>';
    ?><input type="submit" name="bsort" value="ok" /><?php 
 }
  else {
    echo 'Только числа!';
  }
}
if (isset($_POST['bsort'])) {?><form method="post" action="testing.php">
<?php
echo '<table>';
$i=0;
    while(isset($_POST['pole'.$i])){
    $array[]=$_POST['pole'.$i];
    echo '<tr><td><input type="text" name="pole'.$i.'"/ ><td></tr>';
    $i++;
}
echo '<table>';
?><input type="submit" name="bsort" value="ok" /><br><?php
    asort($array);
    foreach ($array as $key => $val) {
    echo $val.'<br>';
}
  } 
 
?>
Все таки советую воспользоваться кодом DrobyshevAlex, ибо он более грамотный
1
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148
30.11.2012, 01:08  [ТС]
Вот спасибо, наконец код как надо, массив просто не так выводил). А у DrobyshevAlex, он конечно хороший, но больно уже для меня сложный и необычный в стиле написания.
0
30.11.2012, 10:42

Не по теме:

Цитата Сообщение от Bllaaa Посмотреть сообщение
но больно уже для меня сложный и необычный в стиле написания
ничего сложного, может с комментами понятнее будет?
код с комментами
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form method="post">
<?php if (empty($_POST)) : /*если не существует никаких данных в $_POST */ ?>
    <input type="text" name="array" />
<?php elseif (isset($_POST['array']) && ($n = (int)$_POST['array']) > 0) :
/* также если существует $_POST['array'], присваиваем переменной $n это значение, приведенное к целому типу 
и проверяем, больше ли оно нуля */ ?>
    <input type="hidden" name="array" value="<?php echo $n ?>" />
    <?php while ($n > 0) : $n--; /* пока $n больше нуля уменьшаем $n на единицу и выводим нижеследующий инпут */ ?>
    <div><input type="text" name="pole[]" /></div>
    <?php endwhile /*конец цикла "пока" */?>
<?php endif /*конец блока условий*/ ?>
    <input type="submit" name="button" value="ok" />
</form>
 
<?php
if (isset($_POST['pole']) && is_array($_POST['pole'])) { //если существует $_POST['pole'] и является массивом
    echo implode(', ', $_POST['pole']); //объединяем массив в строку через запятую ('1,2,3,4,5,...')
}

0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
30.11.2012, 14:37
Цитата Сообщение от KOPOJI Посмотреть сообщение

Не по теме:


ничего сложного, может с комментами понятнее будет?

код с комментами
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form method="post">
<?php if (empty($_POST)) : /*если не существует никаких данных в $_POST */ ?>
    <input type="text" name="array" />
<?php elseif (isset($_POST['array']) && ($n = (int)$_POST['array']) > 0) :
/* также если существует $_POST['array'], присваиваем переменной $n это значение, приведенное к целому типу 
и проверяем, больше ли оно нуля */ ?>
    <input type="hidden" name="array" value="<?php echo $n ?>" />
    <?php while ($n > 0) : $n--; /* пока $n больше нуля уменьшаем $n на единицу и выводим нижеследующий инпут */ ?>
    <div><input type="text" name="pole[]" /></div>
    <?php endwhile /*конец цикла "пока" */?>
<?php endif /*конец блока условий*/ ?>
    <input type="submit" name="button" value="ok" />
</form>
 
<?php
if (isset($_POST['pole']) && is_array($_POST['pole'])) { //если существует $_POST['pole'] и является массивом
    echo implode(', ', $_POST['pole']); //объединяем массив в строку через запятую ('1,2,3,4,5,...')
}

а вот это как понимать ??
PHP
1
for($i=0; $i < $_POST['array']; $i++)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.11.2012, 20:10
где это в том коде?
Обычный цикл со счетчиком - от $i равной нулю до $i меньше значения $_POST['array'] с шагом в единицу
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
30.11.2012, 22:33
а разве не нужно узнавать длину массива с помощью count, или это тоже самое?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.11.2012, 22:44
зачем, если там и так число?

Добавлено через 46 секунд
Цитата Сообщение от Bllaaa Посмотреть сообщение
PHP
1
if (!empty($_POST['array']) && is_numeric($_POST['array']))
- если не пустое значение и число
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2012, 22:44
Помогаю со студенческими работами здесь

Заполнить массив значениями из массива текстовых полей
Добрый день. Извените если глупо изъясняю прозьбу. Будьте любезны помогите новичку... У меня есть матрица n на m и есть x edit-ов. Я...

Как заполнить массив значениями из текстовых полей?
Вот поля я создал. Как теперь после того как я введу значения, заполнить ими массив? &lt;html&gt; &lt;body&gt; &lt;form &gt; ...

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

Как заполнить массив с использованием кнопки и текстовых полей на форме
Помогите исправить программу. Есть очень простой фрагмент программы - создание массива фраз (критериев) for var i:=1 to n do ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru