因此,我正在尝试编写一个PHP和HTML脚本,该脚本将在输入限制时打印出一个表。假设输入了20,它将打印出1-20。我被卡住了,无法从输入中打印出表格。有什么建议吗?
这是我的代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Number Generator</title>
<link rel="stylesheet" href="Styles.css">
</head>
<body>
<center><h4>Prime Number Table Generator </h4>
<div id="div1">
<form action="" method="POST">
<label for="limit">Enter Limit: </label>
<input type="number" name="limit" placeholder="limit">
<br>
<input value="Submit" type="button" name="submit">
</form>
<?php
if (empty($limit)) $limit = '';
for($a = $limit; $a <= 9; $a++)
{
$b = 3;
}
if(isset($_POST['submit'])){
$column = 10;
echo "<table border='1'>";
echo "<tr>";
for ($td=1; $td<=$column; $td++) {
echo "<td>".$td. "</td>";
}
echo "</tr>";
}
?>
<div class="float_center">
<table style="width:100%">
<tr>
<center> <td colspan="10"><b>1-<?php echo $limit. ' ' ?> Prime Numbers are in RED</b></td></center>
</tr>
<tr>
<td></td>
</tr>
</table></center>
</div>
</body>
</html>
我终于把1-10打印出来了,但是在我添加了提交按钮的脚本后,它再也不能打印出来了。
发布于 2018-02-14 22:46:35
我去掉了你的中心标签,因为它们把我弄糊涂了。看看这段代码,让我知道它是否适合你!
<?php
$columns = 10;
$rows = 0;
if (($_SERVER['REQUEST_METHOD'] == 'POST') && isset($_POST['limit'])) {
$rows = $_POST['limit'];
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Number Generator</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5" align="center">
<h4>Prime Number Table Generator </h4>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
<label for="limit">Enter Limit: </label>
<input type="number" name="limit" placeholder="limit" value="<?= $rows ?>">
<br>
<button type="submit" name="submit" class="btn btn-primary">Submit</button>
</form>
<table class="table table-border mt-5">
<thead>
<tr>
<?php for ($i = 0; $i < $columns; $i++) : ?>
<td>Column - <?= $i ?></td>
<?php endfor; ?>
</tr>
</thead>
<tbody>
<?php for ($i = 0; $i < $rows; $i++) : ?>
<tr>
<?php for ($x = 0; $x < $columns; $x++) : ?>
<!-- edit this section to represent your column rows -->
<td align="center">
I am a row column!
</td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</tbody>
</table>
</div>
</body>
</html>
我还添加了bootstrap CDN,因为所有内容都非常混乱,而且我没有您的css文件,显然,这是一种对齐的方法。但是请随意替换它。
发布于 2018-02-14 23:07:27
尝试以下代码:
// Default limit for display tables
$default_limit = 10;
$limit = ( isset( $_POST['limit'] ) ? (int) $_POST['limit'] : $default_limit );
// You don't want to iterate over the table element wrappers
<div class="float_center">
<table style="width:100%">
for ( $i = 0; $i <= $limit; $i++ ) :
?>
<!-- Put all your html contents here -->
<tr>
<td colspan="10"><strong>1-<?php echo $limit. ' ' ?> Prime Numbers are in RED</strong></td>
</tr>
<tr>
<td></td>
</tr>
<?php endfor; ?>
</table>
</div>
https://stackoverflow.com/questions/48797226
复制相似问题