【发布时间】:2020-04-27 17:23:18
【问题描述】:
我有一个 PHP&mySQL 代码,它生成一个带有唯一名称的输入字段和按钮的 html 表。这是执行此操作的代码:
echo "<input type=\"hidden\"name=\"id_$num\"
value=".$row['idSales']."><tr><td>".$row['idSales'].
"</td><td>". $username.
"</td><td>". $row['product'].
"</td><td>". $row['productAmount'].
"</td><td>". $row['dateOfPurchase'].
"</td><td>". $row['userAddress'].
"</td><td><a href=\"$eLink\">". $eLink .
"</a></td><td>
<input type=\"text\" name=\"status_$num\" class=\"input\" value=".$row['productStatus']. ">
<input type=\"submit\" name=\"submit_$num\" value=\"submit\" class=\"button\"></td></tr>" ;
(代码循环生成每个表格行)
表格的形式是,当按下按钮时,会触发另一个文件中的代码(action="...")
我试图做的是为了找到按下的按钮是这样的:
$num = -1;
while(!isset($_POST["submit_$num"])){
$num = $num +1;
if(isset($_POST["status_$num"])){
$status = $_POST["status_$num"];
$id = $_POST["id_$num"];
}
问题: 我的网站没有停止加载,我认为这意味着循环是无止境的。
问题:
- 有没有办法找到按下的按钮?也许我的方法有效,但我有语法错误?
2. $_POST 函数是否适用于非输入类型? $_POST 会拉出 id 吗?
谢谢!
编辑:更新 谢谢大家的回答,我修复了你告诉我的错误并更新了上面帖子中的代码,虽然循环继续无限循环,我尝试在 if 语句中添加一个 break 并且代码有效但仅适用于第一个输入。
【问题讨论】:
-
你不应该在循环中使用
require。 -
$_POST仅适用于输入类型。 -
不知道为什么你在这里有一个循环。在
while(!isset($_POST["submit_$num"])){处进行“非”比较会导致循环无限。 -
????如果您刚刚开始使用 PHP 并想构建应用程序,我强烈建议您查看各种 development frameworks 以查看是否可以找到适合您的风格和需要。它们有多种风格,从 Fat-Free Framework 这样的轻量级到像 Laravel 这样的更全面。这些为您提供了具体的工作示例以及如何编写代码和组织项目文件的指导。
-
@tadman 我正在为一个学校项目做这个网站,遗憾的是我没有时间学习一个新的框架,因为网站快完成了。当我完成项目后有空闲时间时,我会坚决检查 Laravel,谢谢!