我陷入了一些棘手的局面。 好吧,这是代码的重要部分:
> if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
$name = $row["name"];
$votes = $row["votes"];
echo " name: '" .$name. "' - votes: '" .$votes. "' <input type='submit' name='".$name."' value='".$name."' ><br>";
}
if (isset($_POST[''])) {
}
else {
echo "0 results";
}
}
我想要做的就是在每行附近打一个提交按钮来打印表格行,这非常合适。 现在,我希望提交按钮在按下后发送数据库。 问题是只有一个按钮,每个按钮获得一个不同的名称(通过数据库表中的数据)(如代码所示)。 那么我究竟如何从 POST [] 中专门调用每个按钮,因为您可以看到if语句不在while循环中。求救!
非常感谢!
答案 0 :(得分:0)
可能是您可以尝试为此行创建表单
<?
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
$name = $row["name"];
$votes = $row["votes"];
echo '<form method="POST" action="script.php">';
echo " name: '" .$name. "' - votes: '" .$votes. "' <input type='submit' name='".$name."' value='".$name."' ><br>";
echo '<input type="hidden" name="submitted_vote" value="'.$row['id'].'" />';
echo "</form>"
}
}
if (isset($_POST['submitted_vote'])) {
echo 'The submmitted vote is : '.$_POST['submitted_vote'];
}
else {
echo "0 results";
}
答案 1 :(得分:0)
您的主要问题是,您为每个提交按钮使用不同的name
属性。您希望为具有不同值的每个提交按钮使用相同的名称,并且您的表单将仅提交所单击按钮的值。
例如:
<form action="46792098.php" method="post">
<div>
<button type="submit" name="submit_id" value="1">1</button>
<button type="submit" name="submit_id" value="2">2</button>
<button type="submit" name="submit_id" value="3">3</button>
<button type="submit" name="submit_id" value="4">4</button>
<button type="submit" name="submit_id" value="5">5</button>
</div>
</form>
如果PHP代码是:
<?php
var_dump($_POST);
然后点击#5按钮,您的输出将是:
array (size=1)
'submit_id' => string '5' (length=1)
然后您的逻辑只会检查submit_id
表单参数以确定单击了哪个按钮。