-2

我是一名 PHP 初学者,我被困在学校的作业中。我必须创建 6 个不同的下拉菜单(num1 、 num2 、 num3 、 num4 、 rows 、 columns ),每个下拉菜单中都有数字 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 变量,但我怎样才能获取这些变量(仅在提交时)并将其转换为表格?

这是我的作业的链接

4

4 回答 4

0

像这样的行$_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>

echo注意嵌入到 HTML 标记中的 PHP语句。

所以现在,您只需使用自己的变量按预期编写 HTML 页面...

于 2013-06-11T23:06:38.763 回答
0

从这里开始: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']; ?>
于 2013-06-11T23:07:05.683 回答
0

欢迎来到 SO。$_POST['submit']不是必需的。在您的 PHP 脚本中,为表格创建 HTML,然后<?php echo $num_1; ?>(或其他)在需要的地方创建。HTML 必须在 PHP 代码之外。

于 2013-06-11T23:03:09.150 回答
0
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>';




}

PS我知道这可能会得到很多反对票,但是...... :)

于 2013-06-12T00:35:27.550 回答