带有while循环的Php表
我是一个PHP初学者,我需要编写一个带有while循环的HTML表,但我不想循环标题(名字和姓氏),我不知道如何在这行中打破循环。到目前为止,您可以在下面找到我的代码带有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
<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。是的,感谢您在文件为空时注意到这种边缘情况。我已修复了它!非常感谢您的快速回答,但不幸的是,它还不起作用。我已编辑了我的问题,如果您有厕所,我已发布了全部代码好了。再次感谢。没问题,我发布了另一个答案,我希望得到你想要的!如果你不懂一些代码,请在那里发表评论。我会向你解释的,很乐意帮助!