Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
 Аватар для Wallter
6 / 6 / 0
Регистрация: 16.10.2011
Сообщений: 64

Заполнение выбранных ячеек таблицы

15.06.2012, 21:52. Показов 4909. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть входной параметр - двумерный ассоциативный массив
PHP
1
$mas = array(array( 'cells'   => '1,2,4,5'));
в котором числовые значения соответствуют номерам ячеек таблицы с которыми нужно будет работать. Собственно таблица:
HTML5
1
2
3
4
5
6
7
8
<table align="center" cellpadding="15" width="700" height="400">
<tr>
<td>1</td><td>2</td><td>3</td>
</tr><tr>
<td>4</td><td>5</td><td>6</td>
</tr><tr>
<td>7</td><td>8</td><td>9</td>
</tr></table>
Нужно "связать" числа из массива с подобной ячейкой - т.е. 'cells' => '1,4' должны соответствовать 1-й и 4-й ячейке таблицы (<td>1</td> и <td>4</td>). Подскажите, как это можно осуществить?

Добавлено через 3 часа 19 минут
Все еще актуально...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2012, 21:52
Ответы с готовыми решениями:

Динамическое заполнение и объединение ячеек таблицы
Здравствуйте! Прикрепил фото задания и примера. Вообщем не получается сделать чтобы к примеру заполнение применялось к нескольким ячейкам...

Автоматическое заполнение ячеек с формы
Здравствуйте! У меня, как начинающего возникла такая не трудная задача, которую я уже долго не могу решить :cry: У меня есть таблица...

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

9
61 / 58 / 12
Регистрация: 15.06.2012
Сообщений: 149
16.06.2012, 02:35
Мне не совсем понятно, что вы имеете ввиду под словом "Связать"
0
 Аватар для Wallter
6 / 6 / 0
Регистрация: 16.10.2011
Сообщений: 64
16.06.2012, 10:22  [ТС]
Вот полное тз. Основную часть уже сделал, вот только не знаю как выполнить эту "связь". Itera-PHP-Test task.pdf
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 6
16.06.2012, 16:36
пост удален, написан был по ошибке
0
 Аватар для Wallter
6 / 6 / 0
Регистрация: 16.10.2011
Сообщений: 64
16.06.2012, 16:49  [ТС]
Цитата Сообщение от Виктор 81 Посмотреть сообщение
пост удален, написан был по ошибке
Уважаемый, что значит по ошибке?
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 6
16.06.2012, 16:57
PHP
1
2
3
4
5
6
7
8
9
<?php
// Символ "i" после закрывающего ограничителя шаблона означает
// регистронезависимый поиск.
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
    echo "Вхождение найдено.";
} else {
    echo "Вхождение не найдено.";
}
?>
здесь:
http://www.php.su/functions/?preg-match

Добавлено через 50 секунд
Цитата Сообщение от Wallter Посмотреть сообщение
Уважаемый, что значит по ошибке?
это значит что написал я не поняв сути задания бред. То что написано выше может быть будет вам полезно.
0
 Аватар для Wallter
6 / 6 / 0
Регистрация: 16.10.2011
Сообщений: 64
18.06.2012, 20:21  [ТС]
Написал что пришло в голову:
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
<?php
        function zapp() {
        $mas = array(
    array( 'text'    => 'Текст красного цвета'
         , 'cells'   => '1,2,4,5'
         , 'align'   => 'center'
         , 'valign'  => 'bottom'
         , 'color'   => 'red'
         , 'bgcolor' => '#660099')
  , array( 'text'    => 'Текст зеленого цвета'
         , 'cells'   => '8,9'
         , 'align'   => 'right'
         , 'valign'  => 'bottom'
         , 'color'   => '00FF00'
         , 'bgcolor' => '#660099'));  
        $i=0;
        $j=1;
        $td = '<td align="'.$mas[$i]['align'].'" valign="'.$mas[$i]['valign'].'" bgcolor="'.$mas[$i]['bgcolor'].'"><span style="color:'.$mas[$i]['color'].';">'.$mas[$i]['text'].'</span></td>';
        $exp = explode(",", $mas[$i]['cells']);
        for($k=0; $k<count($exp); $k++){
            //if($res != $exp[$k]){ //если массив $res не равен массиву cells, заполняем пустыми ячейками
            //$td = '<td></td>';}
           }
     echo '<table align="center" border="2" width="700" height="400" cellpadding="15">';
     for($t=1; $t<=3; $t++){ //заполняем по 3 ячейки на строку
        echo '<tr>';
        for($z=1; $z<4; $z++){ //выводим 9 ячеек
        echo $td;
      }
    echo '</tr>';
    }
    echo '</table>';
  }
    echo zapp();
 ?>
Выводит заполненными все ячейки. Как сделать заполнение только выбранных из массива ячеек?

Добавлено через 19 минут
to Виктор 81: регулярки пригодились-бы если в ячейках таблицы были числа например ([0-9]), тогда можно было-бы сравнивать каждую ячейку с массивом $exp, но одно из условий - ячейки должны быть пустыми
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 6
06.07.2012, 00:18
Цитата Сообщение от Wallter Посмотреть сообщение
Выводит заполненными все ячейки. Как сделать заполнение только выбранных из массива ячеек?
С помощью функций типо той, что я указывал в посте выше - strstr.
Вряд ли актуально уже , но для одного варианта ($mas[0]) сделал
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
<?php
function zapp() {
        $mas = array(
    array( 'text'    => 'êðàñíûé'
         , 'cells'   => '1,2,4,5'
         , 'align'   => 'center'
         , 'valign'  => 'bottom'
         , 'color'   => 'red'
         , 'bgcolor' => '#660099')
  , array( 'text'    => 'çåëåíûé'
         , 'cells'   => '8,9'
         , 'align'   => 'right'
         , 'valign'  => 'bottom'
         , 'color'   => '00FF00'
         , 'bgcolor' => '#660099'));  
        $i=0;
        $j=1;
        $td = '<td align="'.$mas[$i]['align'].'" valign="'.$mas[$i]['valign'].'" bgcolor="'.$mas[$i]['bgcolor'].'"><span style="color:'.$mas[$i]['color'].';">'.$mas[$i]['text'].'</span></td>';
        $exp = explode(",", $mas[$i]['cells']);
        for($k=0; $k<count($exp); $k++){
            //if($res != $exp[$k]){ //???? ?????? $res ?? ????? ??????? cells, ????????? ??????? ????????
            //$td = '<td></td>';}
           }
     echo '<table align="center" border="2" width="700" height="400" cellpadding="15">';
    $fl=1;
     for($t=1; $t<=3; $t++){ //????????? ?? 3 ?????? ?? ??????
        echo '<tr>';
        for($z=1; $z<4; $z++){ //??????? 9 ?????
            $flr=(string)$fl;
            if (strstr($mas[$i]['cells'], $flr)){
                echo $td;
            }
            else {
                echo '<td></td>';
            }
            $fl=$fl+1;
      }
    echo '</tr>';
    
    }
    echo '</table>';
  }
    echo zapp();
?>
Цитата Сообщение от Wallter Посмотреть сообщение
to Виктор 81: регулярки пригодились-бы если в ячейках таблицы были числа например ([0-9]), тогда можно было-бы сравнивать каждую ячейку с массивом $exp, но одно из условий - ячейки должны быть пустыми
смотрите в примере выше - что мешает ячейки оставить пустыми, а использовать просто рабочую переменную (в моем примере $fl) которую не выводить в html?)
Да и совсем необязательно использовать специальный массив $exp, а работать прямо с элементом $mas[$i]['cells'] как и показано в примере.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.07.2012, 00:45
Цитата Сообщение от Wallter Посмотреть сообщение
to Виктор 81: регулярки пригодились-бы если в ячейках таблицы были числа например ([0-9]), тогда можно было-бы сравнивать каждую ячейку с массивом $exp, но одно из условий - ячейки должны быть пустыми
вы же их выводите в цикле. кто вам мешает сравнивать с индексом цикла for?
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 6
06.07.2012, 06:28
Цитата Сообщение от KOPOJI Посмотреть сообщение
вы же их выводите в цикле. кто вам мешает сравнивать с индексом цикла for?
Это то как раз ему мешает тот факт что у него два цикла (один вложен в другой) и индексы меняются от 1 до 3 а не по номеру ячейки от 1 до 9. Но рабочая переменная вручную увеличиваемая при каждом прохождении цикла как раз будет показывать порядковый номер ячейки.
(вот фрагмент из примера выше)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$fl=1;  // установка начального номера ячейки
 
     for($t=1; $t<=3; $t++){ 
        echo '<tr>';
        for($z=1; $z<4; $z++){ 
            $flr=(string)$fl;
            if (strstr($mas[$i]['cells'], $flr)){
                echo $td;
            }
            else {
                echo '<td></td>';
            }
            $fl=$fl+1;  // тут она увеличивается 
      }
    echo '</tr>';
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.07.2012, 06:28
Помогаю со студенческими работами здесь

Excel заполнение ячеек через php
Здравствуйте, очень мало знаю про php только изучаю сейчас. Поэтому появился вопрос, бегал по сайтам, там много всякого, а хочу спросить,...

Калькулятор суммы выбранных ячеек из таблицы
Подскажите, пожалуйста! В таблице есть строки по три ячейки, в одной из них — сумма. Как сделать «калькулятор», который бы...

Заполнение ячеек таблицы
Здравствуйте,форумчане требуется ваша помощь. Ситуация следующая: Нужно создать обработчик для заполнения ячеек таблицы (StringGrid)...

Word: создание таблицы и заполнение ячеек
Привет всем! Это сново я! Помогите пожалуйста! Я создаю в Word таблицу и заполняю её ячейки вот так :for (int q=1,qz=4;q&lt;kolip;q++,qz++)...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru