使用<a href=""></a>将Filemaker PHP getfield作为URL

时间:2015-01-14 04:45:25

标签: php filemaker

我正在尝试通过以下代码返回我可以执行的项目列表:(这是更大的if语句的一部分,这就是为什么悬挂{foreach行中的括号)

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

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 />';

答案 1 :(得分:0)

为了能够链接到您需要为链接传递某种标识符的项目,以便您的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>";
}

如果首先将所需数据写入变量,则可以使用双引号字符串构造链接并使用变量名称而无需连接所有内容。您最终会得到一些额外的代码行,但您的链接字符串更具可读性。

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

$projectId = $_GET['id'];

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