如何使用 foreach 循环和特定 ID 在另一个页面中发送数据?
How to send data in another page with a foreach loop and specific ID?
我在 PHP 和 HTML 中有以下代码:
<?php if(isset($_POST['service1'])){
$sql = "SELECT u.id u.name, u.password FROM users u";
$result = conection($sql);
$data["tittle"] = "result";
$data["result"] = $result;
foreach($data["result"]as $smth){
$id = $smth["id"];
$name = $smth["name"];
$password = $smth["password"];
?>
<table style="width:100%">
<div class="text-center">
<tr>
<th>ID</th>
<th>Name</th>
<th>Password</th>
</tr>
<tr>
<td><?php echo $id;?></td>
<td><?php echo $name;?></td>
<td><?php echo $password;?></td>
<td><a role="button" href='anotherpage.php' onclick="documents('<?= $id?>')" class='btn btn-primary' target="_blank"></td></tr>
</a>
<?php
}
}?>
以及按钮中使用的JavaScript:
<script>
function documents($id)
{
document.getElementById($id);
}
</script>
一开始我通过复选框收到“服务 1”选项以继续我上面显示的脚本,当我想 select 显示的 3 中的 ID 时出现问题在FPDF中生成报表,FPDF中的脚本如下:
<?php
ob_start();
require ($_SERVER['DOCUMENT_ROOT']."/Libraries/fpdf.php");
class PDF extends FPDF
{
function Header()
{
$this->SetFillColor(0,90,151);
$this->SetTextColor(0);
$this->SetDrawColor(0,90,151);
$this->SetLineWidth(.50);
$this->SetFont('','B');
$this->Ln(50);
$this->SetFont('Arial','B',20);
$this->Cell(3);
$this->Rect(10,55,260,25);
$this->Ln(10);
$this->Cell(3);
$this->Cell('0','0',$id." ".$name. " ".$password,0,0,'L');
$this->Ln(20);
}
}
$pdf=new PDF('L','mm','A4');
$pdf->SetFont('Arial','',12);
$pdf->AddPage();
$pdf->Output();
?>
当我按下按钮时,它不会根据与选项同时 selected 的 ID 给我带来数据,有人知道为什么会这样吗?或者如果我在某件事上失败了
您可以以搜索参数的形式向 link 添加值。
这些参数都有一个 key 和一个 value.
搜索参数的开始由 ?
标记。
然后指定 key 和 value 结合等号 key=value
.
Key-value 对由 &
符号分隔。
<a role="button" href="anotherpage.php?id=<?= $id ?>&name=<?= $name ?>" class='btn btn-primary' target="_blank">
您会注意到,当单击 link 时,值会传递给 URL。服务器能够读取这些值。
在 anotherpage.php
中使用 superglobal $_GET
访问 URL 中的值。 $_GET
将数据呈现为 关联数组 。这意味着您可以通过访问数组中的 key 来获取值,如下例所示。
$id = $_GET['id'];
$name = $_GET['name'];
此方法可能会暴露敏感数据。所以一定不要在前端打印任何数据,比如密码,让人看到。将数据保存在后端。
我在 PHP 和 HTML 中有以下代码:
<?php if(isset($_POST['service1'])){
$sql = "SELECT u.id u.name, u.password FROM users u";
$result = conection($sql);
$data["tittle"] = "result";
$data["result"] = $result;
foreach($data["result"]as $smth){
$id = $smth["id"];
$name = $smth["name"];
$password = $smth["password"];
?>
<table style="width:100%">
<div class="text-center">
<tr>
<th>ID</th>
<th>Name</th>
<th>Password</th>
</tr>
<tr>
<td><?php echo $id;?></td>
<td><?php echo $name;?></td>
<td><?php echo $password;?></td>
<td><a role="button" href='anotherpage.php' onclick="documents('<?= $id?>')" class='btn btn-primary' target="_blank"></td></tr>
</a>
<?php
}
}?>
以及按钮中使用的JavaScript:
<script>
function documents($id)
{
document.getElementById($id);
}
</script>
一开始我通过复选框收到“服务 1”选项以继续我上面显示的脚本,当我想 select 显示的 3 中的 ID 时出现问题在FPDF中生成报表,FPDF中的脚本如下:
<?php
ob_start();
require ($_SERVER['DOCUMENT_ROOT']."/Libraries/fpdf.php");
class PDF extends FPDF
{
function Header()
{
$this->SetFillColor(0,90,151);
$this->SetTextColor(0);
$this->SetDrawColor(0,90,151);
$this->SetLineWidth(.50);
$this->SetFont('','B');
$this->Ln(50);
$this->SetFont('Arial','B',20);
$this->Cell(3);
$this->Rect(10,55,260,25);
$this->Ln(10);
$this->Cell(3);
$this->Cell('0','0',$id." ".$name. " ".$password,0,0,'L');
$this->Ln(20);
}
}
$pdf=new PDF('L','mm','A4');
$pdf->SetFont('Arial','',12);
$pdf->AddPage();
$pdf->Output();
?>
当我按下按钮时,它不会根据与选项同时 selected 的 ID 给我带来数据,有人知道为什么会这样吗?或者如果我在某件事上失败了
您可以以搜索参数的形式向 link 添加值。
这些参数都有一个 key 和一个 value.
搜索参数的开始由 ?
标记。
然后指定 key 和 value 结合等号 key=value
.
Key-value 对由 &
符号分隔。
<a role="button" href="anotherpage.php?id=<?= $id ?>&name=<?= $name ?>" class='btn btn-primary' target="_blank">
您会注意到,当单击 link 时,值会传递给 URL。服务器能够读取这些值。
在 anotherpage.php
中使用 superglobal $_GET
访问 URL 中的值。 $_GET
将数据呈现为 关联数组 。这意味着您可以通过访问数组中的 key 来获取值,如下例所示。
$id = $_GET['id'];
$name = $_GET['name'];
此方法可能会暴露敏感数据。所以一定不要在前端打印任何数据,比如密码,让人看到。将数据保存在后端。