簡體   English   中英

所有行都是一列-PHP創建的表

[英]All rows are one column - PHP created table

我需要創建3個函數來使用PHP創建表。 但是我一直將所有數據都放在一行中。 它看起來也不是最有效的方法。 誰能告訴我什么錯了,因為看起來所有的TD都像TR一樣出現了?

<html>
<head></head>
<body>
<?php


function tdFunction1($flavor1, $flavor2, $flavor3)
{
    echo "<td>";
    echo $flavor1;
    echo "</td>";
    echo "<td>";
    echo $flavor2;
    echo "</td>";
    echo "<td>";
    echo $flavor3;
    echo "</td>";
}

function tdFunction2($dessert1, $dessert2, $dessert3)
{
    echo "<td>";
    echo $dessert1;
    echo "</td>";
    echo "<td>";
    echo $dessert2;
    echo "</td>";
    echo "<td>";
    echo $dessert3;
    echo "</td>";
}

function tdFunction3($temp1, $temp2, $temp3)
{
    echo "<td>";
    echo $temp1;
    echo "</td>";
    echo "<td>";
    echo $temp2;
    echo "</td>";
    echo "<td>";
    echo $temp3;
    echo "</td>";
}


echo "<table border=1 style='width:100%;'>";
echo tdFunction1("chocolate", "apple", "vanilla");
echo tdFunction2("Lava Cake", "Cheesecake", "Cream Puffs");
echo tdFunction3("hot", "cold", "cold");
echo "</table>";


?>
</body>
</html>

我將其切換到下面的內容,但出現致命錯誤:

在第39行的C:\\ xampp \\ htdocs \\ Trash \\ index.php中調用未定義的函數colFunction1()(3個回波colFunction中的第一個)

<html>
<head></head>
<body>
<?php

function tableFunction()
{
    echo "<table border=1;>";

    function rowFunction()
    {
        echo "<tr>";
        function colFunction1($flavor1, $flavor2, $flavor3)
        {
            echo "<td>".flavor1."</td><td>".flavor2."</td><td>".flavor3."</td>";
        }
        echo "</tr>";


        echo "<tr>";
        function colFunction2($dessert1, $dessert2, $dessert3)
        {
            echo "<td>".dessert1."</td><td>".dessert2."</td><td>".dessert3."</td>";
        }
        echo "</tr>";


        echo "<tr>";
        function colFunction3($temp, $temp2, $temp3)
        {
            echo "<td>".temp1."</td><td>".temp2."</td><td>".temp3."</td>";
        }
        echo "</tr>";
    }

    echo "</table>";
}

echo colFunction1("chocolate", "apple", "vanilla");
echo colFunction2("Lava Cake", "Cheesecake", "Cream Puffs");
echo colFunction3("hot", "cold", "cold");

?>
</body>
</html>

好吧,我無所事事,“想”我想通了(以防其他人像我一樣困惑)。
我創建了一個行函數來創建另一行。 我創建了列函數以接受三個函數輸入。 然后,我創建了表以創建可以單獨調用的表。 我祈禱我不只是按原樣打印出回聲,但我不這么認為。 如果我錯了,請有人向我指出。

<html>
<head></head>
<body>
<?php

function trFunction()
{
    echo"<tr>";

    echo"</tr>";
}
function tdFunction($flavor1, $flavor2, $flavor3)
{
    echo"<td>".$flavor1."</td>"; 
    echo"<td>".$flavor2."</td>";
    echo"<td>".$flavor3."</td>";
}
function tableFunction()
{
echo "<table width=400px border=5px cellpadding=3px td style=text-align:center;>";
echo trFunction();
echo tdFunction("Chocolate", "Strawberry","Vanilla" );
echo trFunction();
echo tdFunction("Molten Lava Cake", "Cheesecake", "Cream Puffs");
echo trFunction();
echo tdFunction("Hot","Cold","Cold");
echo "</table>";
}

echo \tableFunction();
?>
</body>
</html>

好吧,我無所事事,“想”我想通了(以防其他人像我一樣困惑)。
我創建了一個行函數來創建另一行。 我創建了列函數以接受三個函數輸入。 然后,我創建了表以創建可以單獨調用的表。 我祈禱我不只是按原樣打印出回聲,但我不這么認為。 如果我錯了,請有人向我指出。

<html>
<head></head>
<body>
<?php

function trFunction()
{
    echo"<tr>";

    echo"</tr>";
}
function tdFunction($flavor1, $flavor2, $flavor3)
{
    echo"<td>".$flavor1."</td>"; 
    echo"<td>".$flavor2."</td>";
    echo"<td>".$flavor3."</td>";
}
function tableFunction()
{
echo "<table width=400px border=5px cellpadding=3px td style=text-align:center;>";
echo trFunction();
echo tdFunction("Chocolate", "Strawberry","Vanilla" );
echo trFunction();
echo tdFunction("Molten Lava Cake", "Cheesecake", "Cream Puffs");
echo trFunction();
echo tdFunction("Hot","Cold","Cold");
echo "</table>";
}

echo \tableFunction();
?>
</body>
</html>

您沒有任何表行echo"<tr><td>".$temp1."</td><td>".$temp2."</td></tr>"會給您2列行。

您忘記了標簽“”(打開行)和“”(關閉行)。

想一想。 您有多余的代碼。 而不是針對同一事物使用三個函數,而是使用如下函數:

function printRow($val1, $val2, $val3)
{
  echo '<tr>';
  echo '<td>'.$val1.'</td><td>'.$val2.'</td><td>'.$val3.'</td>';
  echo '</tr>';
}

echo "<table border=1 style='width:100%;'>";
printRow("chocolate", "apple", "vanilla");
// etc.
echo "</table>";

甚至循環更好:

function printRow($values = array())
{
  $s = '<tr>';

  foreach($values as $value)
  {
    $s.= '<td>'.$value.'</td>';      
  }
  $s.= '</tr>';
  return $s;
}

$valuesToShow[] = array("chocolate", "apple", "vanilla");
$valuesToShow[] = array("Lava Cake", "Cheesecake", "Cream Puffs");
$valuesToShow[] = array("hot", "cold", "cold");

//create table:
echo "<table border=1 style='width:100%;'>";

foreach($valuesToShowas as $value)
{
  echo printRow($value);
}

echo "</table>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM