【问题标题】:PHP while loop first button is not workingPHP while循环第一个按钮不起作用
【发布时间】:2018-12-31 15:51:01
【问题描述】:

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

$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";
}

【问题讨论】:

  • 您能否详细说明您的问题?
  • 我猜你应该从 0 而不是 1 开始索引。请检查并告诉我
  • 你的 HTML 嵌套有点奇怪,
    应该是
  • 我尝试了同样的方法,但没有运气...所以我尝试了上述...仍然无法正常工作。
  • Srinivas - 我最初使用索引为 0,然后在网上搜索时,我发现有人说我应该从 1 开始,所以我进行了更改

标签: javascript php html mysql while-loop


【解决方案1】:

我编辑了代码并删除了表单标签。现在,它完美地适用于所有按钮,包括 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>';
}
?>

【讨论】:

    【解决方案2】:

    看到表单结束标记&lt;/form&gt;&lt;button&gt; 标记内,您是否尝试将其更改为:

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

    看看有没有帮助..

    【讨论】:

    • 我尝试了同样的方法,但仍然没有运气......它只是不会为第一个循环打开一个新标签......对于其余的循环,它工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多