Filemaker PHP getfield as URL 使用 <a href>

Filemaker PHP getfield as URL using <a href>

我正在尝试 return 我可以通过以下代码完成的项目列表:(这是一个更大的 if 语句的一部分,这就是 foreach 行中悬挂 { 括号的原因)

foreach ($r->getRecords() as $project){
        echo $project->getField('Project_Name') .'<br />';

那 return 列表就是它应该的样子。我现在正在尝试 link 每个 returned $project 变量到 URL (每个项目将重定向到另一个显示项目详细信息的页面。)这是我尝试过的.

foreach ($r->getRecords() as $project){
        echo '<a href="project_detail.php">' $project->getField('Project_Name') '</a>' .'<br />';

return在

上出现语法错误
foreach ($r->getRecords() as $project){
        echo $project->getField("<a href='project_detail.php'>'Project_Name'</a>") .'<br />';

任何正确方向的建议或推动将不胜感激。

你可以试试这个:

echo '<a href="project_detail.php">' $project->getField('Project_Name') '</a>' .'<br />';

Missing Concatenating (.)

echo '<a href="project_detail.php">'.$project->getField('Project_Name').'</a><br />';

为了能够 link 到项目,您需要为 link 传递某种标识符,以便您的 project_detail.php 文件知道什么项目记录找到。在下面的代码中,我假设项目记录 id 的 id 字段名为 id.

// Please never use single letter variables in your code.
foreach ($result->getRecords() as $project){
    $projectId   = $project->getField('id'); // This should be whatever primary key field (serial number field) you define for your project
    $projectName = $project->getField('Project_Name');

    echo "<a href='project_detail.php?id=$projectId'>$projectName</a><br>";
}

如果您先将需要的数据写入变量,则可以使用双引号字符串构造link并使用变量名,而无需连接一切。您最终得到了几行额外的代码,但您的 link 字符串更具可读性。

现在您的 project_detail.php 文件可以使用项目 ID 值来查找项目记录:

$projectId = $_GET['id'];

$findRequest = $fm->newFindCommand('project_layout_name');
$findRequest->addFindCriterion('id', $projectId);
$findResult = $findRequest->execute();
....