[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с таблицами и циклами
Страницы: 1, 2
Alonse
Всем доброе время суток. Столкнулся с проблемой: Нужно создать таблицу 5x4 так, чтобы в каждой новой ячейке цифра в этой ячейке умножалась на переменную. Таблицу я создал, но вот сделать это умножение никак не выходит.


<?php

$col = 4; // строки
$row = 5; // столбцы
$start = 7; // стартавая переменная
$plus = 3; // переменная на которую нужно умножать

echo '<table border="1">';

for ($tr=1; $tr<=$row; $tr++){
echo '<tr>';
for ($td=1; $td<=$col; $td++){
echo '<td>'.$start.'</td>';

}
echo '</tr>';
}

echo '</table>';

?>


А должно получиться примерно так
http://vfl.ru/fotos/06336c8923453939.html

Помогите советом, как лучше поступить
Эли4ка
<?php

$col = 4; // строки
$row = 5; // столбцы
$start = 7; // стартавая переменная
$plus = 3; // переменная на которую нужно умножать

echo '<table border="1">';

for ($tr=1; $tr<=$row; $tr++){
echo '<tr>';
for ($td=1; $td<=$col; $td++){
echo '<td>'.$plus * $start.'</td>';

}
echo '</tr>';
}

echo '</table>';

?>
Так?
Alonse
Цитата (Эли4ка @ 22.09.2018 - 19:28)
<?php

$col = 4; // строки
$row = 5; // столбцы
$start = 7; // стартавая переменная
$plus = 3; // переменная на которую нужно умножать

echo '<table border="1">';

for ($tr=1; $tr<=$row; $tr++){
    echo '<tr>';
    for ($td=1; $td<=$col; $td++){
        echo '<td>'.$plus * $start.'</td>';
       
    }
    echo '</tr>';
}

echo '</table>';

?>
Так?

Так, но в данном случае во всех ячейках число 21, а надо чтобы к каждому новому числу прибавлялась переменная $plus, т.е 7+3 в след ячейке 10, потом к 10+3 в след ячейку записывало 13 и тд, вот с этим и возникли проблемы, не могу правильно условие построить <_< . При этом всем в первом столбце должны быть всегда 7ки.
Эли4ка
То есть на подобии такого:
7 10 13 16
7 10 13 16
7 10 13 16
7 10 13 16
7 10 13 16
?
Alonse
Цитата (Эли4ка @ 22.09.2018 - 19:40)
То есть на подобии такого:
7 10 13 16
7 10 13 16
7 10 13 16
7 10 13 16
7 10 13 16
?

Да, в простом варианте)
Хотя бы такого мне добиться, а дальше додумаю)
Rand
Alonse
По фото из тетради не совсем понятно, каждая строка таблицы это разные операции? Каждая первая строка это сложение, а каждая вторая это умножение?
Alonse
Цитата (Rand @ 22.09.2018 - 20:05)
Alonse
По фото из тетради не совсем понятно, каждая строка таблицы это разные операции? Каждая первая строка это сложение, а каждая вторая это умножение?

Именно, не знал как объяснить
Rand
Alonse
А зависимости между четными строками никакой нет? А то не вижу связи между второй и четвертой, во второй умножаем на два, а в четвертой умножаем на 16 в степени n+1.
Alonse
Цитата (Rand @ 22.09.2018 - 20:10)
Alonse
А зависимости между четными строками никакой нет? А то не вижу связи между второй и четвертой, во второй умножаем на два, а в четвертой умножаем на 16 в степени n+1.

Нет, как я полагаю зависимости быть не должно
Alonse
Еще, условие использовать только 2 цикла, внешний для <tr> и внутренний для <td>
Эли4ка
ну можно сделать так:
Заранее рассчитать какие числа будут в последовательности и занести их в массив и брать уже оттуда. Сможете так сделать?
Alonse
Цитата (Эли4ка @ 22.09.2018 - 21:16)
ну можно сделать так:
Заранее рассчитать какие числа будут в последовательности и занести их в массив и брать уже оттуда. Сможете так сделать?

Если честно, так запутался, что уже не могу сообразить. Я правильно понял? Считаю на калькуляторе, создаю массив, а потом через foreach заносить в таблицу? Это можно, но тогда переменные можно убрать, а сделать надо используя переменные и 2 цикла.


<?php

$col = 4; // строки
$row = 5; // столбцы
$start = 7; // стартавая переменная
$plus = 3; // переменная на которую нужно умножать

echo '<table border="1">';

for ($tr=1; $tr<=$row; $tr++){
echo '<tr>';
echo "<td>$start</td>";
for ($td=1; $td<=$col; $td++){
echo '<td>'.($start+$plus).'</td>';
if($td==1){
echo '<td>'.($start+$plus) * $plus.'</td>';
}
}

echo '</tr>';
}

echo '</table>';

?>


я вот до такой схемы додумался, но можно ли как то сделать, чтобы условие выбирало конкретно 2 3 4 ячейки первой строки?

Пробовал через

if($tr== 1 && $td >= 2){
echo '<td>'.($start+$plus).'</td>';
}


но что то ничерта не выходит.


p.s Не стать мне программистом(
Быстрый ответ:

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