php while loop first按钮不起作用

dxpyg8gm  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(331)

我为从数据库获取的数据创建了while循环。我在每个循环中添加了一个按钮。当用户单击按钮时,应该会打开一个新的选项卡,因为我使用的是form method=“get”,所以数据会传递到new tab窗口。这不仅适用于第一个循环按钮,而且适用于循环创建的所有其他按钮。有人能帮忙吗?代码如下:

$result = mysqli_query($link, $query);

        if ($result->num_rows > 0) {
    // output data of each row
        $row = 1;
        $number = 1;
        while($row = $result->fetch_assoc()) {

        echo '<tr>';
        $invoiceNumber = $row["invoiceNumber"]`enter code here`;
        echo ' <td align="center" style="text-align:center">' . $invoiceNumber . '</td>';
        echo ' <td align="right">' . $row["invoiceDate"] . '</td>';
        echo ' <td align="right">' . $row["accountName"] . '</td>';
        $beginTime = $row["beginTime"];
        $beginTime = date("D, j M Y", strtotime($beginTime));
        echo ' <td align="right">' . $beginTime . '</td>';
        $endTime = $row["endTime"];
        $endTime = date("D, j M Y", strtotime($endTime));
        echo ' <td align="right">' . $endTime . '</td>';
        echo ' <td align="center"style="text-align:center"><form method = "GET" action= "invoice.php" name="'.$number.'"><button name= "invoice" value='.$invoiceNumber.'></form>View</button></td>';
        echo '</tr>';
        $number = $number + 1;

    }

} else {
    echo "0 results";
}
sbtkgmzw

sbtkgmzw1#

我编辑了代码并删除了表单标签。它完美地适用于所有按钮,包括while循环中的第一个按钮。代码如下:

echo ' <td align="center"style="text-align:center"><button id="invoice" name= "invoice[]" value='.$invoiceNumber.'>View</button></td>';

<?php

if ($_POST['invoice']) {

$name = $_POST['invoice'];
$array = $name[0];
//echo $array;
echo '<script>window.open("invoice.php?'.$array.'","_blank")</script>';
}
?>
qzwqbdag

qzwqbdag2#

看到表单结束标记 </form> 是在 <button> tag,是否尝试将其更改为:

<td align="center"style="text-align:center">
    <form method = "GET" action= "invoice.php" name="'.$number.'">
        <button name= "invoice" value='.$invoiceNumber.'>View</button>
    </form>
</td>

看看有没有帮助。。

相关问题