我是PHP初学者,我被困在学校的作业上。我必须创建 6 个不同的下拉菜单(num1、num2、num3、num4、行、列(,每个菜单都包含数字 1 到 10。然后,我确保表单已提交,并且只有当它完全提交时,我必须使用变量根据偶数和奇数创建表。
<form method="post" action="prelab2.php">
<select name="num1">
<option>Pick one</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
上面是下拉菜单,现在这是我真正卡住的地方。
<?php
$_POST['submit'];
$num_1=$_POST['num1'];
$num_2=$_POST['num2'];
$num_3=$_POST['num3'];
$num_4=$_POST['num4'];
$rows=$_POST['rows'];
$cols=$_POST['cols'];
?>
我想出了如何_POST变量 $,但是我如何将这些变量(仅在提交时(转换为表?
这是我作业的链接
欢迎来到 SO。 $_POST['submit']
不是必需的。在 PHP 脚本中,为表创建 HTML,然后根据需要<?php echo $num_1; ?>
(或其他(。HTML 必须在 PHP 代码之外。
像$_POST['submit'];
这样的行没有副作用...也就是说,它什么都不做。您只是读取变量值,而不是将其存储在任何地方。
您正在搜索的内容似乎echo
。它将内容写入输出,在您的情况下是 HTML 页面。
在模板样式中,您可以通过以下方式使用它:
<?php
// initial PHP code (reading form value, etc.)
$title = 'Foo';
// after the closing tag, starts the output
?>
<html>
<title><?php echo $title; ?></title>
<!-- remaining of your HTML -->
</html>
请注意嵌入到 HTML 标记中的 PHP echo
语句。
所以现在,你只需要按照预期编写你的HTML页面,使用你自己的变量......
从这里开始: http://www.w3schools.com/tags/tag_option.asp
<select>
<option value="n1">Volvo</option>
<option value="n2">Saab</option>
<option value="n3">Opel</option>
<option value="n...">Audi</option>
</select>
<?php $n1 = $_POST['n1']; ?>
if(isset($_POST['submit']))
{
//check if form is submitted
echo '<table style="border:colapse">'; //css trick to make nicer borders
//get post vars
$num_1=$_POST['num1'];
$num_2=$_POST['num2'];
$num_3=$_POST['num3'];
$num_4=$_POST['num4'];
//put number values in array
$nums=array($num_1,$num_2,$num_3,$num_4);
//sort array -> we will need it for outpu
sort($nums);
$rows=$_POST['rows'];
$cols=$_POST['cols'];
for($i=0;$i<$rows;$i++)
{
//print rows in loop
echo '<tr>';
for($j=1;$j<=$cols;$j++)
//now print colums -> starting from one!
{
echo '<td style="border:1px solid black;width:100px;height:20px">';
//modulo operator, to check if we are inside even or odd column
if($j % 2 == 0) {
foreach($nums as $num)
// loop thorough array of numbers
{
//if number is even -> print it
if($num % 2==0) {
echo $num;
}
}
}
else {
//if we are in odd row
foreach($nums as $num)
{
//print odd numbers
if($num % 2 !=0) {
echo $num;
}
}
}
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
}
附言我知道这可能会得到很多反对票,但是... :)