Я пытаюсь сделать скрипт на PHP, который будет генерировать таблицу с вертикальным алфавитом в нем. Он будет просто отображать буквы от A до Z, а когда дело доходит до Z, он сбрасывается и начинается с A снова. У меня проблема с этим, потому что я могу повторить это только дважды, тогда во всех клетках есть какие-то нежелательные признаки. Я повторяю письмо, используя их HTML-коды ASCII, где знак A &№ 65 и знак Z &# 90.
Вот код, который у меня есть до сих пор, спасибо за помощь.
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Vertical alphabet</title>
</head>
<body>
<form method="post">
<input type="number" placeholder="COLUMNS" name="cols" />
<input type="number" placeholder="ROWS" name="rows" />
<input type="submit" value="Create table" /><br><br>
</form>
<?php
if(isset($_POST['rows']) && isset($_POST['cols'])) {
$col = $_POST['cols'];
$row = $_POST['rows'];
echo ("<table rules='all'>");
for($i = 1; $i<$row+1; $i++) {
echo ("<tr>");
for($c = 0; $c<$col; $c++) {
$letter_id = 65;
$number = ($i + ($c*$row)-1);
$letter = $number + $letter_id;
if($letter > 90) {
$number = $number - 26;
$letter = $letter - 26;
echo ("<td>". "&#" . $letter. "</td>");
} else {
echo ("<td>". "&#" . $letter. "</td>");
}
}
echo ("</tr>");
}
echo ("</table>");
}
?>
</body>
</html>
Не уверен, что вы пытаетесь с $number
переменная, но это проблема здесь
$number = 0;
echo ("<table rules='all'>");
for($i = 1; $i<=$row; $i++) {
echo ("<tr>");
for($c = 0; $c<$col; $c++) {
$letter_id = 65;
$number = $i + ($c*$row);
$letter = $number + $letter_id;
while($letter > 90) {
$letter = $letter - 26;
}
echo ("<td>". "&#" . $letter. "</td>");
}
echo ("</tr>");
}
echo ("</table>");
ОБНОВЛЕНО:
Теперь вертикаль, попробуйте это …
Потому что $ номер всегда рос.
Первый A-Z, $ число между 0 и 25, вы идете в другом случае, и это нормально.
Второй A-Z, $ число между 26 и 51, вы идете в случае, если вы удаляете 26, и ваш отпечаток в порядке.
Следующее число $ в 52, как и раньше, вы идете в случае if и пытаетесь напечатать 27-ю букву алфавита ^^