带有while循环的Php表

带有while循环的Php表,php,html,while-loop,Php,Html,While Loop,我是一个PHP初学者,我需要编写一个带有while循环的HTML表,但我不想循环标题(名字和姓氏),我不知道如何在这行中打破循环。到目前为止,您可以在下面找到我的代码 <html> <head> <form method="post"> <input type="submit" class="button" name="displayNameDonation" id=&quo

我是一个PHP初学者,我需要编写一个带有while循环的HTML表,但我不想循环标题(名字和姓氏),我不知道如何在这行中打破循环。到目前为止,您可以在下面找到我的代码

<html>
<head>
<form method="post">
<input type="submit" class="button" name="displayNameDonation" id="displayNameDonation" value="Press to show largest donator" />
<br><br>
<input type="submit" class="button" name="sendData" id="sendData" value="Press to send max donation and largest donor to text file" />
</form>
</head>
</html>

<?php
// Open your file which is “r” only –search what r stands for, or …(explain)
//function fopen

$file = fopen("file.txt", "r") or die("Unable to open file!");

//store array

$valuesArray = array();

//Create loop to separate values and store in array.
//function feof 

<table>

while(!feof($file)) 
{
    //fgets function 
    $line = fgets($file);
    
    //explode function 
    $value = explode(",", $line);
    
    //stores the names and amounts into separate arrays.
    $valuesArray[] = array($value[0], $value[1]);
    
    //puts values from arrays 
    echo $value[0]. $value[1];
    
}
//fclose function
fclose($file);


//Create line counter.
$lineCounter = sizeof($valuesArray);


//Set variable to max value and convert to integer.
$maxDonation = (int) $valuesArray[0][1];


//create loop to read array elements
for($i = 0; $i <$lineCounter; $i++)
{
    //Check to see if value in array is greater than the maxDonation
    if ((int) $valuesArray[$i][1] > $maxDonation)
    {
        //Convert value from array to integer
        $maxDonation = (int) $valuesArray[$i][1];
        
        //Obtain donors name
        $donationName = $valuesArray[$i][0];
    }
}

//function to display $maxDonation & $donationName when button is clicked.
function displayNameDonation($donationName, $maxDonation)
{
echo  $donationName .  $donationName. ": " . $maxDonation ;
}

if(isset($_POST['displayNameDonation']))
    {
    displayNameDonation($donationName, $maxDonation);
    }
    
//function to import data into separate file
function sendData($donationName, $maxDonation)
{
$var_str = var_export($donationName.$maxDonation, true);
$var = "The max donation was by  = $var_str;\n\n";
file_put_contents('results.txt', $var); 
}

if(isset($_POST['sendData']))
{
    sendData($donationName, $maxDonation);
}
?>



这是我需要添加的表(但是去掉$a和$b变量,并替换上面的while循环:

<?php
 $a="John";
 $b="Smith";
 
 
 echo "<table>
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
  </tr>
  <tr>
    <td>". $a ."</td>
    <td>". $b ."</td>
</table>";
?>


非常感谢。

使用变量
$i
跟踪是否是显示标题的第一个循环

$file=fopen('data.txt','r');
$i=0;
回声“;
而(!feof($file))
{
如果($i==0){
呼应“姓氏”;
}
$line=fgets($file);
$fullName=分解(“,”,$line);
回显“$fullName[0]$fullName[1]”;
$i++;
}
回声“;
fclose($文件);
或者在开始循环和读取文件之前显示表的标题

$file=fopen('data.txt','r');
回声“;
呼应“姓氏”;
而(!feof($file))
{
$line=fgets($file);
$fullName=分解(“,”,$line);
回显“$fullName[0]$fullName[1]”;
}
回声“;
fclose($文件);

file.txt
包含捐赠者的数据,其金额用逗号分隔

Boss,100
Steve,12
Everst,300
Alpha,200



函数
慷慨()
返回慷慨的捐赠者姓名和他从
file.txt中捐赠的金额



将表代码置于循环之外虽然在这种情况下并非绝对必要,但最佳做法是给出输入示例,即文件内容示例。请参阅:我认为在第一个示例中应该放在循环之外。否则,如果文件为空,那段代码可能会生成一个损坏的HTML。是的,感谢您在文件为空时注意到这种边缘情况。我已修复了它!非常感谢您的快速回答,但不幸的是,它还不起作用。我已编辑了我的问题,如果您有厕所,我已发布了全部代码好了。再次感谢。没问题,我发布了另一个答案,我希望得到你想要的!如果你不懂一些代码,请在那里发表评论。我会向你解释的,很乐意帮助!