Php 为我查询的结果分配(下载)链接

Php 为我查询的结果分配(下载)链接,php,sql,database,hyperlink,download,Php,Sql,Database,Hyperlink,Download,所以我已经在这个问题上苦思冥想了一段时间,我只是找不到一个例子来让它为我自己的代码工作。现在我希望你们中的一些人能为我找到一个解决方案,或者至少能为我指明正确的方向。因此,问题如下: 一个人可以将某些文件和信息上传到数据库。文件的上载(即文件名)与其名称、位置等位于同一数据库行中。例如:一个人有几个必填字段,如名称、位置和上载文件,这些字段一起构成数据库中的一行。这一切正常,文件被上传到一个名为:uploads/participant database的文件夹(全名为:mytestsite.nl

所以我已经在这个问题上苦思冥想了一段时间,我只是找不到一个例子来让它为我自己的代码工作。现在我希望你们中的一些人能为我找到一个解决方案,或者至少能为我指明正确的方向。因此,问题如下:

一个人可以将某些文件和信息上传到数据库。文件的上载(即文件名)与其名称、位置等位于同一数据库行中。例如:一个人有几个必填字段,如名称、位置和上载文件,这些字段一起构成数据库中的一行。这一切正常,文件被上传到一个名为:uploads/participant database的文件夹(全名为:mytestsite.nl:2222/CMD\u FILE\u MANAGER/domains/mytestsite.nl/public\u html/Recap/wp content/uploads/participants database)

然而,问题是,用户还可以使用复选框搜索系统搜索数据库数据(并检索它)。根据给定的复选框选项,将显示某些数据(与所选内容匹配)。然而,问题是:如何将downlaod链接分配给正确的数据库值?我会用下面的一些图片让它更清晰一些:

检索数据库信息的代码如下所示(我只使用了1个过滤器来给出查询的想法,因为否则它将是一段非常大的代码):

显示结果的代码如下所示:

echo "<table>
    <tr>";     
        echo "<th>Name of Living Lab</th>";
        echo "<th>Location of Living Lab</th>"; 
        echo "<th>Type of Living Lab</th>"; 
        echo "<th>Theme of Living Lab</th>";
        echo "<th>Stage of Living Lab</th>";    
        echo "<th>Living Lab document</th>";    
echo "</tr>";


if(count($tmp)>0){
    for($i=0;$i<count($tmp);$i++){
        echo "<tr>";  
            foreach($tmp[$i] as $key=>$value){              

            echo "<td>";

            $b=unserialize($value);

                if(is_array($b)){ 

                array_filter($b); 
                $counttwo = 0;
                    foreach($b as $y){
                    if ($counttwo++ > 1) echo ", ";
                    echo $y;
                    } 
                }

                else{
                    echo $value;
                }
            echo "</td>";                                                   
            }    
        echo "</tr>";

    }
}   
echo '</table>';
echo”
";     
呼应“活实验室名称”;
回声“活实验室的位置”;
呼应“活实验室类型”;
呼应“生活实验室主题”;
呼应“生活实验室阶段”;
呼应“活实验室文件”;
回声“;
如果(计数($tmp)>0){
对于($i=0;$i$value){
回声“;
$b=未序列化($value);
如果(是_数组($b)){
阵列滤波器(b美元);
$counttwo=0;
foreach($b为$y){
如果($counttwo++>1)回声“,”;
echo$y;
} 
}
否则{
echo美元价值;
}
回声“;
}    
回声“;
}
}   
回声';
现在的问题是,如何为查询的结果分配正确的链接?因此,在图片示例中,您可以看到一个文档表(这是查询的结果),其中的文本应该可以与存储的文档一起单击和下载。所以我想$tmp结果值应该只检查数据库列:documents,然后应该创建链接,将数据库值连接到正确的文档。尽管如此,我完全不知道如何做到这一点(即使经过了相当多的研究)

我希望你们能帮助我或者给我一些建议!提前谢谢你

***更新*** 新的显示代码(因为它输出文本2次,所以无法工作)添加了@dHaRa uMaraniYa的建议:

if(count($tmp)>0){
    for($i=0;$i<count($tmp);$i++){
        echo "<tr>";  
            foreach($tmp[$i] as $key=>$value){              

            echo "<td>";

            if($key =='DOC'){ 
                    echo '<a href="'.$value.'">'.$value.'</a>';
                }

            $b=unserialize($value);

            if(is_array($b)){ 

                array_filter($b); 
                $counttwo = 0;
                    foreach($b as $y){
                    if ($counttwo++ > 1) echo ", ";
                    echo $y;
                    } 
                }


                else{
                    echo $value;
                }
            echo "</td>";                                                   
            }    
        echo "</tr>";

    }
}   
echo '</table>';
if(计数($tmp)>0){
对于($i=0;$i$value){
回声“;
如果($key=='DOC'){
回声';
}
$b=未序列化($value);
如果(是_数组($b)){
阵列滤波器(b美元);
$counttwo=0;
foreach($b为$y){
如果($counttwo++>1)回声“,”;
echo$y;
} 
}
否则{
echo美元价值;
}
回声“;
}    
回声“;
}
}   
回声';

选择living\u lab\u文档作为DOC

 $tmp = $wpdb->get_results("
            SELECT
                name_of_living_lab, location_of_living_lab, type_of_living_lab, theme_of_living_lab, stage_of_living_lab, living_lab_document as DOC
            FROM           
                wp_participants_database            
            WHERE 
                location_of_living_lab REGEXP ('$criteria_location') AND theme_of_living_lab REGEXP ('$criteria_theme') 
            ORDER BY 
                name_of_living_lab ASC
        ");
并检查是否

if($key =='DOC'){ 
  echo '<a href="'.$value.'">'.$value.'</a>';
}
else
{
echo $value;
}
if($key=='DOC'){
回声';
}
其他的
{
echo美元价值;
}

我的猜测是:如果您使用var\u dump($tmp[$i]),您将看到键和值,您可以添加一个带有$key='living\u lab\u document'的if,并创建a-tag?太棒了!多谢各位!我会用正确的方法来测试它!它实际上似乎没有那么难,但却很难想象:)虽然我已经测试了代码,但仍然存在两个问题。第一个(也是最简单的)是创建链接,但链接文本被输出两次,一次作为可点击链接,第二次作为纯文本,如:aipa_care_living_lab_-information.pdfaipa_care_living_lab--u information.pdf,其中第一次是可点击的。第二个问题是,链接不会将我返回到未知页面,而只是在同一页面上开始下载(重定向到包含该文件的正确文件夹)。我在我的1篇文章中添加了新的结果显示代码。好吧,不用担心第二个问题,因为我不假思索地发布了它。我用正确的链接修复了href。不用担心第一个问题,现在已经全部修复,再次感谢您的回答!
if($key =='DOC'){ 
  echo '<a href="'.$value.'">'.$value.'</a>';
}
else
{
echo $value;
}