Php 获取发送到浏览器的多行数据

Php 获取发送到浏览器的多行数据,php,arrays,get,Php,Arrays,Get,我有一个表单,它使用PHP中的$\u GET将数据传输到另一个页面。在另一个页面的浏览器中,它显示所有导出的数据,但当将其放入页面时,它仅显示第一行。我还希望能够只导出选定的字段 下面是我的代码 <?php do { ?> <form action="../masspay/index.php" name="pile" method="GET" > <tr> <td><input type="checkbox" nam

我有一个表单,它使用PHP中的$\u GET将数据传输到另一个页面。在另一个页面的浏览器中,它显示所有导出的数据,但当将其放入页面时,它仅显示第一行。我还希望能够只导出选定的字段

下面是我的代码

    <?php do { ?>
  <form  action="../masspay/index.php" name="pile" method="GET" >
  <tr>
    <td><input type="checkbox" name="checkbox" value="check" /></td>
    <td><input name="id" type="text" id="id" value="<?php echo $row_pile['id']; ?>" size="10" /></td>
    <td><input name="amount" type="text" id="amount" value="<?php echo $row_pile['amount']; ?>" size="10" /></td>
    <td><input name="amtnaira" type="text" id="amtnaira" value="<?php echo $row_pile['amtnaira']; ?>" size="13" /></td>
    <td><input name="acctno1" type="text" id="acctno1" value="<?php echo $row_pile['acctno1']; ?>" size="10" />
      (<?php echo $row_pile['accountname']; ?>)</td>
    <td><input name="phone" type="text" id="phone" value="<?php echo $row_pile['phone']; ?>" size="13" /></td>
    <td><input name="staff" type="text" id="staff" value="<?php echo $row_admin['name']; ?>" size="15" /></td>
    <tr>
          <?php } while ($row_pile = mysql_fetch_assoc($pile)); ?>
         <td colspan="7"><input type="submit" name="Submit" value="Process Selected" /></td>
  </tr>
  </form>

kk看起来您有一个数据库,从中获取值并将其显示到文本框的值中。要发送值,您必须在index.php页面上捕获它们 通过做

$_GET['id']
$_GET['name'] and furthor
 now for selected field set the value on the other page check the value of checkbox that it is checked or unchecked by assinging a variable

你为什么要这样发送数据?a可能是更好的选择

无论如何,如果sql有多个结果,那么之前的_GET值将被覆盖

试试这个:

  <?php do { ?>
  <form  action="../masspay/index.php" name="pile" method="GET" >
  <tr>
    <td><input type="checkbox" name="checkbox[]" value="check" /></td>
    <td><input name="id[]" type="text" id="id" value="<?php echo $row_pile['id']; ?>" size="10" /></td>
    <td><input name="amount[]" type="text" id="amount" value="<?php echo $row_pile['amount']; ?>" size="10" /></td>
    <td><input name="amtnaira[]" type="text" id="amtnaira" value="<?php echo $row_pile['amtnaira']; ?>" size="13" /></td>
    <td><input name="acctno1[]" type="text" id="acctno1" value="<?php echo $row_pile['acctno1']; ?>" size="10" />
      (<?php echo $row_pile['accountname']; ?>)</td>
    <td><input name="phone[]" type="text" id="phone" value="<?php echo $row_pile['phone']; ?>" size="13" /></td>
    <td><input name="staff[]" type="text" id="staff" value="<?php echo $row_admin['name']; ?>" size="15" /></td>
    <tr>
          <?php } while ($row_pile = mysql_fetch_assoc($pile)); ?>
         <td colspan="7"><input type="submit" name="Submit" value="Process Selected" /></td>
  </tr>
  </form>
'; 示例输出:

// will return checked
if ($_GET['checkbox'][0] == 'check') {
    echo 'checked';
} else {
    echo 'not checked';
}

//will return not checked
if ($_GET['checkbox'][3] == 'check') {
    echo 'checked';
} else {
    echo 'not checked';
}
要检查复选框是否已勾选:

$tt = ''.
foreach ($_GET['id'] as $key => $id) {
    $tt .= "$_GET['acctno1'][$key], $_GET['amount'][$key], not-private, order #$id. www.xxx.com, we hope to serve you often.<br/>";
}

echo $tt;
最新评论:

  <form  action="../masspay/index.php" name="pile" method="GET" >
   <tr>
    <?php while ($row_pile = mysql_fetch_assoc($pile)) { ?>
     <td><input type="checkbox" name="checked[]" value="<?php echo $row_pile['id']; ?>" /></td>
     <td><?php echo $row_pile['id']; ?></td>
     <td><?php echo $row_pile['amount']; ?></td>
     <td><?php echo $row_pile['amtnaira']; ?></td>
     <td><?php echo $row_pile['acctno1']; ?>(<?php echo $row_pile['accountname']; ?>)</td>
     <td><?php echo $row_pile['phone']; ?>></td>
     <td><?php echo $row_admin['name']; ?></td>
     <?php } ?>
     <td colspan="7"><input type="submit" name="Submit" value="Process Selected" /></td>
   </tr>
  </form>

由于您只需选择要在接收页面上显示的结果,因此这是一种更好、更安全的方法:

if (empty($_GET['checked']) {
    echo 'No results';
} else {

    $ids = array();
    foreach ($_GET['checked'] as $checked) {
        settype($checked, 'integer');
        $ids[] = "id = $id";
    }

    //Modify the sql used for the form to add this WHERE:
    $sql = 'SELECT * FROM table WHERE ' . implode(' OR ', $ids);

    $pile = mysql_query($sql);

    while ($row_pile = mysql_fetch_assoc($pile)) { 
        echo "$row_pile['acctno1'] $row_pile['amount'], not-private, order #$row_pile['id'];. www.xxx.com, we hope to serve you often.<br/>";
    }

}
在接收页面上:


我会使用会话,但我不希望它在任何时候超时,因为它涉及到钱…接收页面如何,它仍然只给出第一行,没有移动的线索,只选择。接收页面的代码是:$acct=$\u GET['acctno1']$金额=$\u获取['amount']$id=$\u GET['id']$tt=$acct,$amount,非私人,订购$id。www.xxx.com,我们希望能经常为您服务$转让名单=$tt;我像这样使用代码,但它不起作用。相反,我在浏览器下面的页面顶部得到了这个错误:check1449030.02。下面是我如何格式化代码的:print_r$_GET['checkbox'];数组0=>'check',//已检查id 1=>,//未检查id 2$id=打印$\u获取['id'];数组0=>1,1=>2$金额=打印金额['amount'];数组0=>1,1=>2$acct=打印$\u获取['acctno1'];数组0=>1=>2;接收页面代码是复选框金额等返回内容的示例。不要复制数组,因为它们是打印的示例输出。我使用print_r的原因是为了让您可以看到数据的结构。示例已更新。第二页应该将它们一行一行地显示出来,这样的行数:$tt=$acct,$amount,not private,order$id。www.xxx.com,我们希望经常为您服务。要获取$acct,它必须类似于$acct=$\u get['acctno1'];。预计输出将是这样的,在4行U8586746,0.01,非专用,www.xxx.com-我们希望经常为您服务U8586546,0.01,非专用,www.xxx.com-我们希望经常为您服务U5586234,0.01,非专用,www.xxx.com-我们希望经常为您服务U8586980,0.01,非专用,www.xxx.com-我们希望经常为您服务,你的回答给了我灵感,但我有这个问题。虽然$row_pile=mysql_fetch_assoc$pile{$tt=$row_pile[acctno1]$row_pile[amount],非私人,订购$row_pile[id],www.xxx.com,我们希望经常为您服务;echo$row_pile[acctno1]$row_pile[amount],非私人,订购$row_pile[id],www.xxx.com,我们希望经常为您服务,echo可以很好地提供多行,但$tt仍然只提供一行,并在输出中显示。我只需要$tt。回声是要测试的!在此之前,请执行以下操作:$tt=;while循环中的$tt变量执行以下操作:`$tt.=$row\u pile['acctno1']$row\u pile['amount']等;注意点等于。非常感谢。工作,但没有工作,一切都在一行,而不是单独的行。
  <form  action="../masspay/index.php" name="pile" method="GET" >
   <tr>
    <?php while ($row_pile = mysql_fetch_assoc($pile)) { ?>
     <td><input type="checkbox" name="checked[]" value="<?php echo $row_pile['id']; ?>" /></td>
     <td><?php echo $row_pile['id']; ?></td>
     <td><?php echo $row_pile['amount']; ?></td>
     <td><?php echo $row_pile['amtnaira']; ?></td>
     <td><?php echo $row_pile['acctno1']; ?>(<?php echo $row_pile['accountname']; ?>)</td>
     <td><?php echo $row_pile['phone']; ?>></td>
     <td><?php echo $row_admin['name']; ?></td>
     <?php } ?>
     <td colspan="7"><input type="submit" name="Submit" value="Process Selected" /></td>
   </tr>
  </form>
if (empty($_GET['checked']) {
    echo 'No results';
} else {

    $ids = array();
    foreach ($_GET['checked'] as $checked) {
        settype($checked, 'integer');
        $ids[] = "id = $id";
    }

    //Modify the sql used for the form to add this WHERE:
    $sql = 'SELECT * FROM table WHERE ' . implode(' OR ', $ids);

    $pile = mysql_query($sql);

    while ($row_pile = mysql_fetch_assoc($pile)) { 
        echo "$row_pile['acctno1'] $row_pile['amount'], not-private, order #$row_pile['id'];. www.xxx.com, we hope to serve you often.<br/>";
    }

}