[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не могу решить задачу(
Guest
Ребят нужна ваша помощь, не так давно начал учить php
Столкнулся с одной задачей, не могу понять как её решить :(



Необходимо реализовать функцию, которая сгенерирует HTML страницу по заданным параметрам. На вход функции подается двумерный массив следующего вида:
array(
array( 'text' => 'Текст'
, 'cells' => 'Номера занимаемых ячеек через запятую'
, 'align' => 'Горизонтальное выравнивание'
, 'valign' => 'Вертикальное выравнивание'
, 'color' => 'Цвет текста'
, 'bgcolor' => 'Цвет фона')
,
array( 'text' => 'Текст'
, 'cells' => 'Номера занимаемых ячеек через запятую'
, 'align' => 'Горизонтальное выравнивание'
, 'valign' => 'Вертикальное выравнивание'
, 'color' => 'Цвет текста'
, 'bgcolor' => 'Цвет фона')
, ...

где номера занимаемых ячеек - набор чисел от 1 до 9-ти через запятую, определяющих ячейку в таблице

Результатом работы функции должна быть HTML страница, в которой текст занимает соответствующие позиции с соответствующим вырыванием и цветом фона. Разный текст не может занимать одни и те же позиции.
Например:
array(
array( 'text' => 'Текст красного цвета'
, 'cells' => '1,2,4,5'
, 'align' => 'center'
, 'valign' => 'center'
, 'color' => 'FF0000'
, 'bgcolor' => '0000FF')
,
array( 'text' => 'Текст зеленого цвета'
, 'cells' => '8,9'
, 'align' => 'right'
, 'valign' => 'bottom'
, 'color' => '00FF00'
, 'bgcolor' => 'FFFFFF')

В результирующей странице не должно использоваться никаких файлов изображений – все должно быть отображено посредством стилей и div или таблиц.


Дайте какую-то подсказку как её решить :)
А то чувствую себя таким ущербом, не ужели у меня не чего не получиться в изучении этого языка, ведь подобные задачи дают на собеседованиях для устройства на работу, получается у меня нету шансов, если я такую элементарную вещь не могу решить?)



Спустя 26 минут, 56 секунд (9.10.2012 - 20:10) inpost написал(а):
<?php echo $array['cells']; ?> - подставил в нужном месте и всё.
А лучше всего, сам показывай как ты реализуешь.

Спустя 25 минут, 51 секунда (9.10.2012 - 20:36) Guest написал(а):
$array = array( 'text' => 'Текст красного цвета'
, 'cells' => '1,2,4,5'
, 'align' => 'center'
, 'valign' => 'center'
, 'color' => 'FF0000'
, 'bgcolor' => '0000FF');


echo '<table border="1">';
foreach ($array as $key => $value) {
echo "<tr>";

echo "<td>".$value."</td>";
echo "</tr>";
}
echo "</table>";"</td>";
echo "</tr>";
}
echo "</table>";


вот как я пытался делать, только не получается что бы придавались стили, цвет фона, цвет текста(

Спустя 5 минут, 26 секунд (9.10.2012 - 20:42) inpost написал(а):
Выводишь, но тут надо логически думать.
Итак, ты HTML учил? В каком месте надо вывести color, чтобы цвет шрифта поменялся... В каком месте вывести надо align, чтобы алигн применился?
Потому что это задачка на логику и знания HTML. Она очень простая для тех, кто знает эти вещи, но нет смысла тебе давать код, потому что она должна проверять тебя, есть ли у тебя голова на плечах и справишься ли ты с ней.

Если тебе тяжело, начни изучать HTML и PHP ещё больше, значит тебе ещё рано решать её.

Спустя 4 часа, 6 минут, 41 секунда (10.10.2012 - 00:48) Guest написал(а):
$setings = array(
array(
'text' => 'Текст красного цвета',
'cells' => '1,2',
'align'=>'center',
'valign'=>'center',
'coloor'=>'FF0000',
'bgcolor'=>'0000FF',
),

array(
'text' => 'Текст зеленого цвета',
'cells' => '8,9',
'align'=>'right',
'valign'=>'bottom',
'coloor'=>'00FF00',
'bgcolor'=>'FFFFFF',
)
);



echo "<table border='1' >";
foreach ($setings as $value){
echo "<tr>";

foreach ($value as $data)

echo "<td style='color:$data';>".$setings."</td>";
echo "</tr>";
}
echo "</table>";
\

Я на правильном пути? :)

Спустя 24 минуты, 31 секунда (10.10.2012 - 01:13) inpost написал(а):
нет. Снова не туда.
Почитай о foreach и о массивах больше. Прочитай, что значит данная запись:
echo $array['key']; Посмотри, что у тебя в $value содержится уже массив, и выводить надо с ключем нужным тебе в нужном месте.
+ удобнее делать конкатенацию строк:
echo 'text="lalala" text2'.$var['key'].'text3';
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.