两个使用php在循环中提交表单

时间:2015-10-08 12:44:31

标签: php html forms

我的代码在循环中处理两个提交表单是否正确?我有这个代码,但它没有得到第二个表格。我的意思是它重定向到selectedSold.php但它没有查看任何细节,或者它没有获得所选行的name="nganga"。在第一种形式它工作,然后我决定复制粘贴代码到selectedSold.php然后在选择查询中更改一些代码但它没有显示任何结果。

<?php foreach($articles as $a):?>
        <tr>
            <form method="post" action="selected.php">
                <input type="hidden" name="peopleName" value=" <?php echo $a['name']; ?>">
                <td><button class="btn btn-danger btn-sm btn-block" type="submit" name="viewing">Ordered</button></td>
            </form>
            <form method="post" action="selectedSold.php">
                <input type="hidden" name="nganga" value=" <?php echo $a['name']; ?>">
                <td><button class="btn btn-danger btn-sm btn-block" type="submit" name="psold">Bought</button></td>
            </form>
                <td><?php echo $a['name'];?></td>
                <td><?php echo $a['contact'];?></td>
                <td><?php echo $a['address'];?></td>
                <td><?php echo $a['email'];?></td>
                <td><?php echo $a['gender'];?></td>
                <td><?php echo $a['datejoin'];?></td>
        </tr>
    <?php endforeach;?>

    This is my query in first form ->
$articles = $db->prepare("
        SELECT SQL_CALC_FOUND_ROWS * FROM ordered
        WHERE buyername='".$_POST['peopleName']."'
        LIMIT {$start}, {$perPage}
    ");

这是我的第二种形式的查询

$articles = $db->prepare("
        SELECT SQL_CALC_FOUND_ROWS FROM `sold`
        WHERE buyername='".$_POST['nganga']."'
        LIMIT {$start}, {$perPage}
    ");

2 个答案:

答案 0 :(得分:0)

请勿在{{1​​}}周围添加空格。

<?php ... >?

答案 1 :(得分:0)

您无法通过一个按钮提交2个表单,但您可以在循环提交中分别提供2个(或更多)表单。因此,假设您只想一次提交一个表单,这应该可以解决您的问题。我已将<forms>移到<td>内,并将<buttons>更改为<inputs>

<?php foreach($articles as $a):?>
<tr>
    <td>
        <form method="post" action="selected.php">
            <input type="hidden" name="peopleName" value="<?=$a['name']?>">
            <input type="submit" class="btn btn-danger btn-sm btn-block" name="viewing" value="Ordered"/>
        </form>
    </td>
    <td>
        <form method="post" action="selectedSold.php">
            <input type="hidden" name="nganga" value="<?=$a['name']?>">
            <input type="submit" class="btn btn-danger btn-sm btn-block" name="psold" value="Bought"/>
        </form>
    </td>
    <td><?php echo $a['name'];?></td>
    <td><?php echo $a['contact'];?></td>
    <td><?php echo $a['address'];?></td>
    <td><?php echo $a['email'];?></td>
    <td><?php echo $a['gender'];?></td>
    <td><?php echo $a['datejoin'];?></td>
</tr>
<?php endforeach;?>

选项2:进行测试

这将达到相同的效果,并可用于测试简化版本。

<?php foreach($articles as $a):?>
<tr>
    <td>
        <a href="selected.php?peopleName=<?=$a['name']?>">Ordered</a>
    </td>

    <td>
        <a href="selectedSold.php?nganga=<?=$a['name']?>">Bought</a>
    </td>

    <td><?php echo $a['name'];?></td>
    <td><?php echo $a['contact'];?></td>
    <td><?php echo $a['address'];?></td>
    <td><?php echo $a['email'];?></td>
    <td><?php echo $a['gender'];?></td>
    <td><?php echo $a['datejoin'];?></td>
</tr>
<?php endforeach;?>