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